java基础
数据类型
-
基本数据类型:byte,boolean,short,int,long,float,double
- java语法废语句报错如if() int a=1;
- char占两个字节。采用unicode
- unicode 16位,兼容ascii(0-127相同)。utf8是unicode的实现方式(1-6个字节表示一个符号)
- 布尔类型不一定占一比特(单个4个字节,boolean数组1个字节)
- 属性不赋值有默认值,规则和数组一样。没有垃圾值?
-
引用类型:类,接口,数组(数组型数据是对象)
运算符
算术运算符:+-/%,++,--
关系运算符:==,!=,<,>,<=,>=,instanceof
逻辑运算符:短路与或&&,||,!。逻辑与或&,|,^ 。(&|不会短路)
赋值运算符:=,+=,-=,=,/=,%=
三元运算符:a < b ? c, bc只会执行一个
位运算符:10>>2,(算术右移,低位溢出,符号位不变,高位补符号位)
10>>>2(逻辑右移,也叫无符号右移,低位溢出,高位补0)
- 10 % 3 = -1 //在java中,a % b = a - a / b * b
自动类型转换:
- char -> int -> long -> float -> double
- byte -> short -> int -> long -> float -> double
- (byte,short)和char不会自动转换
- string转基本类型:Double.parseDouble("123.456") 若解析不了抛异常
- 多种类型进行计算,会全换成大容量的
- float a = 1+1.2 //报错,double转float
- byte a=10 //可以
- int b=10,byte a=b //报错
- boolean不参与转换
- java没有无符号数,都是有符号的
- byte a=1,b=2,c=3 a=b+c //错 b+c被转为int
- 强制类型转换:
byte a = byte(2000) #-48
动态申请数组 内存
int a[]={1,2,3,4,5,6,4,5,6}; //静态
double[] scores = new double[5];
//结合二维数组内存布局:
int a[][]=new int[9][9];
int[][] arr=new int[3][];
for i : arr[i]=new int[i+1] //每个一维数组可以不等长
int[][] a={{1,2},{1,2,3}};
//访问长度:arr.length, arr[i].lenght
//数组赋值是引用传递
int[]a1={1,2,3};
int[]a2=a1
//声明方式int[] a ,int a[], int[][] a,int[] a[],int a[][]都行。
可变参数:
int sum(int... nums) //相当于传入数组。
for i : nums.lenght:
res+=nums[i];
细节:可以是0个。实参可以是数组(本质就是数组),可变参数必须放在最后面,只能出现一个可变参数
重载:
允许同一个类中多个方法重名(return类型也必须相同),但要求形参列表不一样。
public double max(double a , double b): 如果没有下面的max(1.1 , 2)会匹配这个否则匹配下面的
public double max(double a , int b):
其他
javap Dog.class //反编译 p243
break continue 可以接label
switch:表达式必须是byte short int char enum String
标识符命名规则:[a-zA-Z0-9_$],不能数字开头,无长度限制
java.util.Scanner 一个可以用正则表达式来解析基本类型和字符串的简单文本扫描器
保留字:现在不是关键字以后版本可能是:如byValue,cast,goto,inner等
Java SE(Java Platform,Standard Edition),标准版本。桌面应用
Java EE (Java Platform,Enterprise Edition),java 的企业版本. web
Java ME(Java Platform,Micro Edition),java的微型版本。手机
规范
源文件用utf8
每行别超过80
类,方法的注释用javadoc写
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理