Java基础注意点

基础变量与运算

运算

整数运算

1 整数的除法在除数为0的时候,运行报错,但编译不报错。
2 整数由于存在范围限制,计算超出了范围会溢出,但不会报错

System.out.println(2147483640+15)//-2147483641

3 应该选择合适范围的整型(int或long),没有必要为了节省内存而使用byte和short进行整数运算

浮点数

1 比较两个浮点数是否相等

if(Math.abs(x-y)<0.00001)

2 类型提升
运算中一个是整型,一个是浮点型,那么整型可以自动提升到浮点型
但如果是在一个复杂的四则运算中,则不会,如下面第二个栗子

double d=1.2+24.0/5 //6
double d=1.2+24/5 //5.2

3 溢出
相比较整数/0运行时会报错
浮点数/0会出现 NaN(0.0/0) Infinity -Infinity
4 强制转型 四舍五入

int n =(int)(d+0.5);

5 Java三元运算符
b?x:y;

字符和字符串

字符类型

因为Java总用unicode在内存中保存字符,所以可以用来保存中文、英文字符

字符串

1 是个引用类型,字符串不可变,变的是变量的指向
2 从Java 13开始,多行字符串可以用"""…"""表示

		String s = """
                   SELECT * FROM
                     users
                   WHERE id > 100
                   ORDER BY name DESC
                   """;

数组

数组是引用类型,数组本身不变大小也不变,改的是变量的指向

int[] ns=new int[5];

流程控制

if判断

1 判断引用类型是否相等,用equals()
"=="是表示是否指向同一个对象,所以出现下例中的结果

String s1="hello";
String s2="HELLO".toLowerCase();
s1==s2//false

2 使用equals时,为了避免空指针错误
可以使用短路运算符&&

if(s1!=null&&s1.equals(s2))

switch

1 switch还可以匹配字符串,比较内容相等
2 还可以使用枚举类型(后续补充)
3 Java 12后不需要用break

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        int opt = switch (fruit) {
            case "apple" -> 1;
            case "pear", "mango" -> 2;
            default -> {
            	int code =fruit.hashCode();
            	yield code;//switch语句返回值
            };
        }; // 注意赋值语句要以;结束
        System.out.println("opt = " + opt);
    }
}

注意编译的时候 要javac --source 13 --enable-preview Main.java

循环

while;do while;for
for each 语法

int[] ns={1,2,3,4,5};
for(int n:ns){
	System.out.println(n);
}

数组操作

Arrays.toString() 以字符串形式输出整个数组
Arrays.sort() 从小到大排序,对数组排序会直接修改数组本身

命令行参数

public class Main(){
	public static void main(String[] args){
		for(String arg: args){
			System.out.println(arg);
		}
	}
}
发布了14 篇原创文章 · 获赞 0 · 访问量 497

猜你喜欢

转载自blog.csdn.net/yichen_adf/article/details/104221217
今日推荐