java基础学习(一)
2022/1/5 14:36:43
本文主要是介绍java基础学习(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java学习(一)
已经有C的基础,所以不会特别基础。主要是和C不同的地方。
学习的视频是【零基础 快速学Java】韩顺平 零基础30天学会Java
https://www.bilibili.com/video/BV1fh411y7R8?p=180
环境的不同
Java8:编译时需要先javac text.java,生成一个text.class,然后java text,执行程序。可以分别执行各个类。
java11: 编译时直接 java text,java,会直接生成text,class并运行程序。似乎不可以分别执行各个类,只能执行主类。
+的特性
+左右是数值则数值相加,有一边是字符串则拼接运算
System.out.println(100 + 8); //108 System.out.println("100" + 8); //1008 System.out.println("hello"+100 + 8); //hello1008
浮点数的细节
java浮点数默认是double,用float声明要在浮点数后加后缀f(不加会报错),所以一般使用double。
不要用运算结果是小数的进行相等判断,最好用相减的绝对值小于某个精度来处理。
字符编码
java的字符类型是unicode码
ASCII码,一个字节表示,一共128个字符。
Unicode:固定大小编码, 两个字节表示一个字符。
Utf-8:大小可变的编码,字母使用一个字节,汉字使用3个字节。
gbk:字母一个字节,汉字两个字节。
big5:繁体字
类型转换
byte,short,char三者进行运算,会自动转换晨int类型。
char c =1; char d = 2; byte e =1; short f = 1; short s1 = f + e; //错误: 不兼容的类型: 从int转换到short可能会有损失 char c1 = c + d ; //错误: 不兼容的类型: 从int转换到char可能会有损失
字符串转基本类型,用库方法。
运算符
除法细节
System.out.println(10 / 4); //2 System.out.println(10.0 / 4); //2.5 double d = 10 / 4; System.out.println(d); //2.0
switch
- 细节1:switch表达式的类型应一致或可以转换。
- 细节2:switch表达式的值必须为 byte,short, int, char, enum, String.
- 细节3:case表达式必须为常量或产量表达式,不能为变量。
- 细节4: 如果没遇到break,会顺序执行,不需要判断下面的case。只判断一次switch.
数组
数组的拷贝不能直接将数组的名赋值,拷贝要将值一一赋值。
int[] arr1 = {1, 2, 3}; int[] arr2 = arr1; //将arr1的地址赋给了arr2,arr1和arr2指向同一个地址,修改arr2的值arr1的值也会改变。 arr2[0] = 10; for(int i = 0;i < arr1.length; i++) System.out.println(arr1[i]); //10,2,3
二维数组可以先初始化最高位,再初始化后面的,并且可以不同大小。
一个例子,杨辉三角。这个二维数组的每个一维数组长度都不同。
public class YangHui{ public static void main(String[] args){ int n =10; int [][] yanghui = new int[n][]; for(int i = 0; i < yanghui.length; i++){ yanghui[i] = new int [i+1]; //给每一个二维数组初始化 for(int j = 0; j < yanghui[i].length; j++){ if(j == 0 || j ==yanghui[i].length -1) yanghui[i][j] = 1; //第一列和最后一列都为1 else{ yanghui[i][j] = yanghui [i-1][j] + yanghui[i-1][j-1]; } } } for(int i = 0; i < yanghui.length; i++){ for(int j =0; j < yanghui[i].length; j++) System.out.print(yanghui[i][j]+"\t"); System.out.println(); } } }
这篇关于java基础学习(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-14百万架构师第十六课:源码分析:Spring 源码分析:手写SpringAOP核心原理|JavaGuide
- 2025-01-14百万架构师第十七课:源码分析:Spring 源码分析:Spring声明式事务操作实现原理|JavaGuide
- 2025-01-142024年常用的语言翻译API
- 2025-01-14折腾之王:JavaScript 之父 Brave 浏览器与 BAT 的诞生
- 2025-01-13从协作到创新:电商团队效率提升新方法
- 2025-01-13汉服销售拓展客源,能精准投放广告的软件求推荐!蛇年新春!
- 2025-01-13提升客户体验的关键:电商团队协作效率优化
- 2025-01-13不触碰资金的支付网关有哪些?
- 2025-01-13如何运用敏捷开发的6大模型来提高团队工作效率?
- 2025-01-13汉服制作质量检测,能高清放大细节的软件用哪个?2025 新春!