1. Java基础和细节-Java的基本程序设计和结构
程序员文章站
2022-05-25 23:10:58
...
1. 注释
1)单行注释:从//开始到本行结尾
2)长篇注释:/*开始,*/结束
3)文档注释:/**开始,*/结束,可以用来自动生成文档
2)长篇注释:/*开始,*/结束
3)文档注释:/**开始,*/结束,可以用来自动生成文档
2. 数据类型
1)整数
int(4) short(2) byte(1) long(8)[以L结尾]
int(4) short(2) byte(1) long(8)[以L结尾]
2)浮点
float(4)[有效位7,以F结尾] double(8)[有效位15]
三个特殊的浮点数值:
正无穷大(Double.POSITIVE_INFINITY)
负无穷大(Double.NEGATIVE_INFINITY)
Double.NaN(0/0或者负数的平方根结果为NaN),Double.isNaN(double num)判断是否是NaN
float(4)[有效位7,以F结尾] double(8)[有效位15]
三个特殊的浮点数值:
正无穷大(Double.POSITIVE_INFINITY)
负无穷大(Double.NEGATIVE_INFINITY)
Double.NaN(0/0或者负数的平方根结果为NaN),Double.isNaN(double num)判断是否是NaN
3)字符
char(2) 单引号'A',Unicode编码单元\u0000~\uffff,\u2122表示注册符号等
Character类中有很多字符是否是标示符等的判定方法
char(2) 单引号'A',Unicode编码单元\u0000~\uffff,\u2122表示注册符号等
Character类中有很多字符是否是标示符等的判定方法
4)布尔
boolean(1) 两个值:true和false
boolean(1) 两个值:true和false
3. 变量
1)不要使用未被初始化的变量,最好显示进行初始化
2)使用final声明常量(const是Java保留的关键字,但目前没有被使用)
2)使用final声明常量(const是Java保留的关键字,但目前没有被使用)
4. 运算符
1)Math类中包含了各种各样的数学函数,在函数前加Math.或者import static java.lang.Math.*(静态导入)
2)可预测结果比运行速度更重压的话,使用StrictMath类(fdlibm实现的算法)
3)int和long转换成float或者long转成double都会有精度损失
2)可预测结果比运行速度更重压的话,使用StrictMath类(fdlibm实现的算法)
3)int和long转换成float或者long转成double都会有精度损失
5. 代码点和代码单元
1)代码点就是一个Unicode字符。代码单元就是代码点的集合
2)辅助字符需要一对代码单元表示,辅助字符一般用于汉字或者日文等字符
3)遍历字符串,依次查看每一个代码点:
2)辅助字符需要一对代码单元表示,辅助字符一般用于汉字或者日文等字符
3)遍历字符串,依次查看每一个代码点:
int cp = sentence.codePointAt(i); if(Character.isSupplementaryCodePoint(cp)) i+=2; else i++;4)回退操作
i--; int cp = sentence.codePointAt(i); if(Character.isSupplementaryCodePoint(cp)) i--;
6. StringBuffer vs. StringBuilder
1)StringBuffer线程安全
2)StringBuilder非线程安全,单线程中使用比StringBuffer快
2)StringBuilder非线程安全,单线程中使用比StringBuffer快
7. 控制台输入输出
1)Scanner in = new Scanner(System.in); System.out.println("What is your name?"); String name = in.nextLine(); System.out.println("How old are you?"); int age = in.nextInt(); in.next(); //读一个单词 2)Console cons = System.console(); String userName = cons.readLine("User Name: "); char[] password = cons.readPassword("Password: "); // 密码处理之后马上用填充值覆盖数组元素——安全
3)格式化输出
System.out.printf("%,.2f", 10000.0/3.0); ==> 3,333.33
System.out.printf("%,.2f", 10000.0/3.0); ==> 3,333.33
8. 文件的输入输出
1)Scanner in = new Scanner(new File("myfile.txt")); // 构造一个从给定文件读取数据的Scanner
2)Scanner in = new Scanner(String data); // 构造一个从给定字符串读取数据的Scanner
3)PrintWriter out = new PrintWriter("myfile.txt"));
2)Scanner in = new Scanner(String data); // 构造一个从给定字符串读取数据的Scanner
3)PrintWriter out = new PrintWriter("myfile.txt"));
9. 控制流程
1)flag: ... break flag;
10. 大数值
1)BigInteger
2)BigDecimal
2)BigDecimal
11. 数组
1)简单打印System.out.println(Arrays.toString(array));
2)数组拷贝Arrays.copyOf/System.arraycopy(from, fromIndex, to, toIndex, count);
3)数组排序Arrays.sort(array);
4)int r = (int)(Math.random() * n) [0, n-1]随机整数
5)for(double[] row : array)
for(double value: row)
do something with value
2)数组拷贝Arrays.copyOf/System.arraycopy(from, fromIndex, to, toIndex, count);
3)数组排序Arrays.sort(array);
4)int r = (int)(Math.random() * n) [0, n-1]随机整数
5)for(double[] row : array)
for(double value: row)
do something with value
6)二维数组快速打印System.out.println(Arrays.deepToString(array));
7)不规则数组
int[][] odds = new int[NMAX + 1][]
for(int n = 0; n <= NMAX; n++)
odds[n] = new int[n+1];
7)不规则数组
int[][] odds = new int[NMAX + 1][]
for(int n = 0; n <= NMAX; n++)
odds[n] = new int[n+1];
上一篇: 一代抗倭名将李如松,他最后是怎么死的?
下一篇: [MAC]zsh与bash兼容问题
推荐阅读
-
Java基础学习-基本数据类型变量的定义和使用
-
Java基础学习-三元运算符和键盘录入的基本步骤和使用
-
java程序设计基础——数据的表示和处理
-
1. Java基础和细节-Java的基本程序设计和结构
-
1. Java基础和细节-Java的基本程序设计和结构
-
java基础总结(六十四)--【图数据结构的遍历】java实现广度优先和深度优先遍历
-
JAVA基础:常混淆的两种类型(基本数据和引用数据)
-
JAVA基础:常混淆的两种类型(基本数据和引用数据)
-
Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)
-
Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)...