【小白速进】要补Java入门基础的小白来这里集合了!虽然很基础但真的很实用!

Hello,我是阿ken

上次也有提到最近一直在猛淦 Java基础的博文,接下来就是 Java进阶,然后根据一些渠道往我心中的 Java开发的那条路上走,这次系统的整理一下我的 小白进军 Java开发之路,阿ken会跟CSDN的每一个小伙伴一起学习一起进步,同时也是记录我接下来的编程学习。阿ken跟CSDN的兄弟萌u1s1,对于一个只涉足不到两年的小白来说,我学的很碎也很不成体系,也一直在学习的路上,所以如有不足还请大佬留步指点一二。

Java 中的各种运算符操作

运算符

算术运算符(+、-、*、/、%)

重点:++

++ 无论出现在变量前还是后,运算结束后,一定会自加1。

自增、自减运算符

自增自减运算符(+、-),++、--是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量,作用是使变量的值增1或减1。

++x和x++的不同之处在于,++x是先执行x=x+1再使用x的值,而x++是先使用x的值再执行x=x+1。

//

int i = 10;

i++;

System.out.println(i); // 11

int k = 10;

++k;

System.out.println(k); // 11

++出现在变量前:

int i = 10;

int k = ++i;

System.out.println(); // 11

System.out.println(); // 11

++出现在变量后:

int i = 10;

int k = i++;

System.out.println(k); // 10

System.out.println(i); // 11

int i = 10;

System.out.println(i++); // 10

// 拆代码:

int temp = i++;

System.out.println(temp); // 10

System.out.println(i); // 11

int i = 10;

System.out.println(++i); // 11

// 拆代码:

int temp = ++i;

System.out.println(temp); // 11

System.out.println(i); // 11

关系运算符(>、>=、<、<=、==、!=)

关系运算符结果都是布尔类型(true/false)

逻辑运算符(&、|、!、&&、||)

逻辑运算符要求两边都是布尔类型,并且最终结果还是布尔类型。

& 两边都是true,结果才是true

| 一边是true,结果就是true

!取反

&& 实际上和&运算结果完全相同,区别在于:&&存在短路现象。

左边为false的时候:&&短路。

左边为true的时候: || 短路。

赋值运算符(=、+=、-=、*=、/=、%=)

重要规则:扩展赋值运算符在使用的时候要注意,不管怎么运算,最终的运算结果类型不会变。


byte x = 100; // byte 最大值127

x += 1000; // 编译可以通过,x变量还是byte类型,只不过损失精度了。

x += 1000; 等同于: x = (byte)(x + 1000);

int i = 10;

i += 10; // 等同于: i = i + 10; 累加。

条件运算符

三目运算符语法: 布尔表达式 ? 表达式1:表达式2

布尔表达式为 true,选择表达式1作为结果。反之选择表达式2作为结果。

字符串连接运算符

+...

+ 两边都是数字,进行求和

+ 有一边是字符串,进行字符串的拼接

+ 有多个的话,遵循自左向右依次执行:1 + 2 + 3

如果想让其中某个加号先执行,可以添加小括号:1+(2+3)

注意:字符串拼接完之后的结果还是一个字符串。

技巧:怎么把一个变量塞到一个字符串当中。

String name = "jackson";

System.out.println("登陆成功,欢迎"+name+"回来");

位运算符

整形数据在内存中以二进制的形式表示,例如一个 int 型变量在内存中占4个字节共32位,int 型数据 7 的二进制表示是:

00000000 00000000 00000000 00000111

左面最高位是符号位,最高位是 0 表示正数,是 1 表示负数。负数采用补码表示,例如 -8的补码表示是:


正数的补码,原码,反码都是相同的。

+8的补码,原码,反码,都是 0000 1000。

负数的补码,原码,反码都是用1放在符号位,后面7位有变化:

-8的原码:1000 1000;

-8的反码:1111 0111;

-8的补码:1111 1000。

instanceof 运算符

该运算符是二目运算符。左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是 true,否则是 false (有关细节后续会讲解)

控制语句

Java 控制语句大致可分为三大类:

  • 选择语句
    • if, else-if, else
    • switch
  • 循环语句
    • while
    • do...while
    • for
    • foreach
  • 终端语句
    • break
    • continue
    • return

选择语句

if 语句

执行原理:对于一个if语句来说,只要有一个分支执行,整个if语句结束。
当布尔表达式的结果为true时,分支才会执行。
分支当中只有一条Java语句,大括号可以省略。
带有else的可以保证肯定会有一个分支执行。

if 语句写法:

if(布尔表达式) {
}

if(布尔表达式) {
}else{
}

if(布尔表达式) {
}else if(布尔表达式) {
}else if(布尔表达式) {
}

if(布尔表达式) {
}else if(布尔表达式) {
}else if(布尔表达式) {
}else{
}

if 语句嵌套:

	if (布尔表达式) {		
	
	if (布尔表达式) {			
	
	if (布尔表达式) {			
	} else {					
	}
			
	} else {			
	}	
	
	} else {		
	}	
	

int i = 0;	
if (i >= -1) {		

if (i >= 0) {			

if (i > 0) {			
} else {				
i = 100;			
}
		
} else {			
i = 1000;		
}	

} else {		
i = 10000;	
}	

System.out.println(i); // 100

switch 开关语句

switch(表达式){

case 常量值1;

若干个语句

break;

case 常量值2;

若干个语句

break;

......

case 常量值n;

若干个语句

break;

default;

若干语句

}

// switvh语句中表达式的值可以为byte、short、int、char型;常量值1到常量值n,也是byte、short、int、char型,而且要互不相同。

循环语句

> 什么是循环语句,为什么要使用这种语句?

> 因为在现实世界当中,有很多事情都是需要反复/重复的去做。为了减少代码量,要使用循环语句。

while 循环

> 其语法机制及执行原理:

while (布尔表达式) {

循环体;

}

执行原理:如果布尔表达式为true,就执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果还是true,则再执行循环体,如果为false,则循环结束。

执行次数:0~N次

> 案例 死循环:


while(true){

System.out.println("死循环");

}

do...while 循环


do {

循环体;

} while(布尔表达式);

/*最后这个分号很关键*/

运行原理:先执行循环语句,再判断布尔表达式,如果为true就继续执行,如果为false就停止循环。

执行次数:1~N次


int i = 0;

do{

System.out.println(i); // 0 1 2 3...8 9

i++;

// 也可直接把上两行代码等价替换为

// System.out.println(i++);

}while(i < 10);

int i = 0;

do{

System.out.println(++i); // 1 2 3 ... 8 9 10

}while(i < 10);

int k = 100;

System.out.println(++k); // 101

System.out.println(k); // 101

int m = 10;

System.out.println(m++); // 10

System.out.println(m) // 11

> 转向语句:

> break、continue、return(后期整理到方法时再详细学习)

for 循环语句

for循环语法机制:

for(初始化表达式;条件表达式;更新表达式) {

循环体;

}

for循环执行原理:

1. 先执行初始化表达式,并且只执行1次

2. 然后判断条件表达式

3. 如果为true,则执行循环体

4. 循环体结束之后,执行更新表达式

5. 继续判断条件,如果条件还是true,继续循环

6. 直到条件为false,循环结束


for(表达式1; 表达式2; 表达式3) {

循环语句;

}


// anli

public class Example_n {

public static void main(String args[]){

long sum = 0, a = 8, item = a, n = 12, i = 1;

for(i = 1; i

sum = sum + item;

item = item*10 + a;

}

System.out.println(sum);

}

}

循环跳转控制语言(即转向语句或终端语句

break

- 应用:

1. 在 switch 语句中,用来终止 switch 语句的执行。防止 case 穿透现象,用来终止 switch。

2. 在循环语句中,用来终止循环的执行

- 作用:break; 语句会让离它最近的循环终止结束掉。


for(int i = 0; i < 10; i++){

if(i == 5){

// break;语句会让离它最近的循环终止结束掉。

break; // break;终止的不是if,不是针对if的,而是针对离它最近的循环终止结束掉。

}

System.out.println("i = " + i); // 0 1 2 3 4

}


for(int k = 0; k < 2; k++){ // 外层for

for(int i = 0; i < 10; i++){ // 内层for

if(i == 5){

break; // 这个break;语句只能终止离它最近的for

}

System.out.println("i ===> " + i);

// 输出结果:0123401234

}

}

// 以下讲解的内容,以后开发很少用,了解一下即可

a:for(int k = 0; k < 2; k++){

b:for(int i = 0; i < 10; i++){

if(i == 5){

break a; // 终止指定的循环。

}

System.out.println("i ===> " + i);

// 输出结果:01234

}

}

> 上面那种写法例如a:、b:是一种标识符

> 且下面的 continue 也有形神似的语法格式,有着同样的实现功能

continue 语句

作用:终止本次循环,直接进入下一次循环继续执行。

代码示例(改编上述代码):

for (int i = 0; i < 10; i++) {

if (i == 5) {

// break;语句会让离它最近的循环终止结束掉。

continue; 

}

System.out.println("i = " + i); // 0 1 2 3 4 6 7 8 9

}
for(int k = 0; k < 2; k++){ // 外层for

for(int i = 0; i < 10; i++){ // 内层for

if(i == 5){

continue; 

}

System.out.println("i ===> " + i);

// 输出结果:012346789012346789

}

}

> if、switch 属于分支语句,属于选择语句(选择结构)。

> for、while、do...while..这些都是循环语句(循环结构)。

> break、continue、return 属于转向结构。

> for、while完全可以互换,只不过就是语法格式不一样。

世界本十分美好

只是很多人或很多家庭不够努力

配不上这份美好

多谢诸位光临,我是阿ken

  • 41
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 113
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 113
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我阿ken

观众老爷要是看的开心还请支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值