资讯动态

大三下学习笔记(3)Java基础

发布时间:2026/8/14 5:31:22 来源:尧图企业网站定制
注释//文档注释 /** * Description study * Author lan */常用关键字及标识符注意点本文章图片截图于“狂神说Java”如有侵权请联系作者删除常用关键字标识符注意点数据类型//数据类型 long a 444; float b 4.1f; double c 4.44444;注意String是类不是关键字数据类型扩展整数扩展二进制0b 八进制0 十六进制0xfloat、double注意事项float、double:有限、离散、舍入误差、不能比较会用BigDecimal 数学工具类与equals()区别比较基本数值或内存地址equals比较值是否相同。但是如果比较的是对象的话那equals比较的也是内存地址。字符扩展字符本质是数字例子//整数扩展 //二进制0b 八进制0 十六进制0x int i1 10; int i2 010; int i3 0x10; System.out.println(i1);//10 System.out.println(i2);//8 System.out.println(i3);//16 System.out.println(); //float、double:有限、离散、舍入误差、不能比较 //会用BigDecimal 数学工具类 float a1 0.1f; double a2 1/10; double a3 1.0/10; double a4 1.0/4; System.out.println(a1);//0.1 System.out.println(a2);//0.0 System.out.println(a3);//0.1 System.out.println(a4);//0.25 System.out.println(a1a3);//false float a5 1594994949f; float a6 a51; System.out.println(a5a6);//true System.out.println(); //String是类不是关键字 //与equals()区别比较基本数值或内存地址 String s1 new String(lan); String s2 new String(lan); System.out.println(s1s2);//false System.out.println(s1.equals(s2));//true String s3 lan; String s4 lan; System.out.println(s3s4);//true System.out.println(s3.equals(s4));//true //字符扩展字符本质是数字 char c1 A; System.out.println(c1);//A System.out.println((int)c1);//65 char c2 \u0061; System.out.println(c2);//a数据类型转换强制转换 高到低 格式(类型标识符自动转换 低到高存在问题内存溢出精度丢失数字可用下划线分割//强制转换 高到低 格式(类型标识符 //自动转换 低到高 //存在问题内存溢出精度丢失 //数字可用下划线分割 float a1 4.597f; int a2 40; System.out.println((int)a1);//4 System.out.println((double) a2);//40.0 int money 20_0000_0000; int time 20; long w1 time * money; long w2 time * (long) money; System.out.println(w1);//1345294336 System.out.println(w2);//400_0000_0000变量、常量、作用域常量 final值被初始化后不能再改变类变量 static:从属于类和类一起加载实例变量:从属于对象如果不初始化则类型是默认值 0 0.0布尔值默认是false除了基本类型其他默认是null局部变量属于该方法的变量必须声明和初始化值例子public class Demo03 { //常量 final值被初始化后不能再改变 //修饰符不存在先后顺序 static final double PI 3.14; final static int AU 45; //类变量 static:从属于类 static double salary 2000; //实例变量:从属于对象如果不初始化则类型是默认值 0 0.0 //布尔值默认是false //除了基本类型其他默认是null String name; int age; public static void main(String[] args) { //局部变量必须声明和初始化值 int i 10; System.out.println(i); //实例变量 //System.out.println(age);报错 Demo03 demo03 new Demo03(); System.out.println(demo03.age); //类变量 System.out.println(salary); } }变量的命名规范传递多个未知数目的相同变量public void method (int...a){}运算符例子public class Demo04 { public static void main(String[] args) { //短路运算 int c 2; boolean d (c 3) (c 2); System.out.println(d);//false System.out.println(c);//2 //注意位运算符 boolean d1 (c 3) (c 2); System.out.println(d1);//false System.out.println(c);//3 System.out.println(); //位运算符^:异或 //左移右移效率高 //字符串连接符 int a 10; int b 20; System.out.println(ab);//1020 System.out.println(ab);//30 System.out.println(ab);//1020 System.out.println(a b);//10 20 System.out.println(aa\nbb);//a10 b20 System.out.println(aa\nbba);//a10 b2010 System.out.println(aa\nb(ba));//a10 b30 System.out.println(); //x?y:z 如果x为真输出结果为y否则为z int m a 30 ? a : b; System.out.println(m);//20 } }包机制、JavaDoc详细请见狂神说Java包机制javadoc命令javadoc命令是用来生成自己的API文档的。scanner、next()、nextLine()next():只有输入有效字符后才将其后面的空格空白作为结束符import java.util.Scanner; public class Demo05 { public static void main(String[] args) { //获取键盘输入 Scanner scanner new Scanner(System.in); System.out.println(next:); //next():只有输入有效字符后才将其后面的空格空白作为结束符 if(scanner.hasNext()){ String str scanner.next(); System.out.println(str); } //记得关闭否则会一直占用资源 scanner.close(); } }nextLine():以enter为结束符import java.util.Scanner; public class Demo06 { public static void main(String[] args) { Scanner scanner new Scanner(System.in); System.out.println(nextLine:); //nextLine():以enter为结束符 if (scanner.hasNextLine()){ String str scanner.nextLine(); System.out.println(str); } scanner.close(); } }简略for循环public class Demo07 { public static void main(String[] args) { int[] nums {10,20,30}; for(int x : nums){ System.out.println(x); } } }标签public class Demo08 { public static void main(String[] args) { //输出101到150之间的质数 //标签outer outer:for(int i 101; i 150 ;i){ for (int j 2; j i/2; j){ if(i % j 0){ continue outer; } } System.out.print(i ); } } }递归数组Java内存分析数组在堆栈中的内存分析稀疏数组排序算法冒泡排序从前到后相邻数比较每次把较大较小的数放在后面每一轮得到一个最大数最小数冒泡优化加一个flag如果后续没有再需要排序的就直接退出了import java.util.Arrays; public class Demo10 { public static void main(String[] args) { int[] a {1,2,3,8,3}; int[] b new int[3]; int[][] a1 {{1,2},{1,2,3}}; int[][] b1 new int[2][3]; System.out.println(a1[1][2]); //Arrays类对数组元素进行操作 Arrays.sort(a); //冒泡排序 //从前到后相邻数比较每次把较大的数放在后面每一轮得到一个最大数 int[] n {8,9,5,3,1,7,8}; for(int i 0; i n.length-1; i){ //优化加一个flag如果后续没有再需要排序的就直接退出了 //boolean flag false; for(int j 0; j n.length-1-i; j){ if(n[j] n[j1]){ int temp n[j]; n[j] n[j1]; n[j1] temp; //flag true; } } // if(flag false){ // break; // } } System.out.println(Arrays.toString(n)); } }Arrays类对数组元素进行操作其他注意break与return的区别break跳出switch或者结束循环return结束方法方法重载System.out.printf支持占位符eg%s

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价