JAVA 学习笔记
1. HelloWorld
class HelloWorld{
public static void main(String
[] args
){
System
.out
.println("Hello World!");
}
}
2.命名习惯
* 包名一般全小写 eg: xxxyyyzzz
* 类名、接口名首字母大写 eg:XxxYyyZzz
* 变量、方法名首字母不大写,其余单词首字母大写 eg:xxxYyyZzz
* 常量名所有字母均大写,并用_隔开 eg:XXX_YYY_ZZZ
3.变量
数据类型关键词备注
整型int4字节,
−
2
31
-2^{31}
−231 ~
2
31
2^{31}
231-1字节型byte1字节,-128 ~ 127短整型short2字节,
−
2
15
-2^{15}
−215 ~
2
15
2^{15}
215-1长整型long8字节,
−
2
63
-2^{63}
−263 ~
2
63
2^{63}
263-1,必须以L或l结尾,否则默认为int单精度float4字节,-3.403E38 ~ 3.403E38,仅能保留7位小数,需以f或F结尾,否则默认为double双精度double8字节,-1.798E308 ~ 1.798E308,保留15位小数 精度详解字符char2字节,字符非字符串,只能是一个字符,用单引号’’,‘a’布尔型booleantrue or false类class引用数据类型接口interface引用数据类型数组[]引用数据类型字符串String引用数据类型,用双引号"hello world",可以和基本数据类型做计算
long long_type
= 12345L
;
float float_type
= 123.4f;
String s
= "hello";
int i
= 1234;
String s2
= s
+ i
;
自动类型提升
byte b
= 1;
int i
= 177;
int i2
= i1
+ b
;
byte < short < int < long < float < double
强制类型转换
double df
= 123.33;
int i
= (int)df
;
4.逻辑运算符
关系运算符备注
逻辑与&a&b,a为false时仍继续判断b的真假逻辑或|a|b,a为真时仍判断b的真假逻辑非!短路与&&a&&b,a为false时则结束判断短路或
∥
\|
∥a
∥
\|
∥b,a为真时则结束判断逻辑异或^a,b同真或同假时为false;否则为true
boolean bool
= false;
int num1
= 123;
int num2
= 123;
if(bool
& (num1
++ > 0)){
}
if(bool
&& (num2
++ > 0)){
}
5.三元运算符
(条件表达式)?表达式1:表达式2 条件成立则执行表达式1,否则执行表达式2,用于简化if-else
int num1
= 123;
int num2
= 234;
int max
= (num1
> num2
)?num1
:num2
6.程序流程控制
if-else
if(条件
1){
code1
;
}
else if(条件
2){
code2
;
}
else{
code3
;
}
switch case
switch(表达式
){
case 常量
1:
code1
;
case 常量
2:
code2
;
...
case 常量n
:
coden
;
default:
codeX
;
}
7.循环
for循环
int sum
= 0;
for(int i
= 0;i
< = 100; i
++){
sum
+= i
;
}
while循环
int i
= 1;
int sum
= 0:
while(i
<= 100){
sum
+= i
;
i
+= 1;
}
do-while循环
int i
= 1;
int sum
= 0;
do{
sum
+= i
;
} while(i
<= 100);
8.break与continue
sum
+= 0;
for(int i
= 1; i
<= 100; i
++){
if(i
% 2 == 0){
continue;
}
sum
+= i
;
}
int sum
+= 0;
for(int i
= 1;i
<= 100; i
++){
if(i
% 2 == 0){
break;
}
sum
+= i
;
}
int sum
= 0;
label1
:for(int i
= 1; i
<= 100; i
++){
for(int j
= 1; j
<= 100; j
++){
if(j
> 10) break label1
;
sum
+= j
;
}
}
int sum
= 0;
label1
:for(int i
= 1; i
<= 100; i
++){
for(int j
= 1; j
<= 100; j
++){
if(j
> 10) continue label1
;
sum
+= j
;
}
}
9.一维数组
数组中的概念 1.数组名 2.元素 3.索引 4.长度
数组的特点 1.数组是有序的 2.数组中的元素必须是相同的数据类型,可以是基本数据类型也可以是引用数据类型 3.创建数组时,底层会为数组开辟连续的存储空间 4.数组一旦创建,其长度也就固定了,不能修改
默认初始化值
数据类型默认值
int0float0.0double0.0char0(‘’\0000’ ascii第0位)booleanfalseStringnull(引用数据类型均为null)
1.数组的声明与初始化
int [] array
;
array
= new int[]{12,3,4,2};
int[] array
= new int[5];
2.获取数组指定位置元素
array
[0];
arraty
[1];
array
[1] = 12345;
3.获取数组的长度
array
.length
;
4.遍历数组
for(int i
= 0; i
< array
.length
; i
++){
array
[i
];
}
二维数组
多维数组的本质是一维数组嵌套一维数组
1.数组的声明与初始化
int [][] array
;
array
= new int[][]{{12,3,
3},{4,2}};
int[][] array
= new int[5][4];
int[][] array
= new int[5][];
2.获取数组指定位置元素
array
[0];
arraty
[1];
array
[1] = 12345;
3.获取数组的长度
array
.length
;
4.遍历数组
for(int i
= 0; i
< array
.length
; i
++){
array
[i
];
}