【保姆级|建议收藏】阿ken带你学Java入门及进阶(二)——运算符、循环语句,文末有彩蛋鸭✨✨✨

感激相遇 你好 我是阿ken

特此声明 未经允许 不得转载

叽里库拉传送门

    • 运算符
      • 算术运算符(+、-、*、/、%)
      • 自增、自减运算符
      • 关系运算符(>、>=、<、<=、==、!=)
      • 逻辑运算符(&、|、!、&&、||)
      • 赋值运算符(=、+=、-=、*=、/=、%=)
      • 条件运算符
      • 字符串连接运算符
      • 位运算符
      • instanceof 运算符
      • switch 开关语句
    • 循环语句
      • while 循环
      • do...while 循环
      • for 循环语句
    • 回馈粉丝

运算符

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

重点:++
++ 无论出现在变量前还是后,运算结束后,一定会自加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

// 原文出自: CSDN-请叫我阿ken

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

关系运算符结果都是布尔类型(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; 累加。

// 原文出自: CSDN-请叫我阿ken

条件运算符

三目运算符语法: 布尔表达式 ? 表达式1:表达式2
布尔表达式为 true,选择表达式1作为结果。反之选择表达式2作为结果。

字符串连接运算符

+…
+两边都是数字,进行求和
+有一边是字符串,进行字符串的拼接
+有多个的话,遵循自左向右依次执行:1 + 2 + 3
如果想让其中某个加号先执行,可以添加小括号:1+(2+3)
注意:字符串拼接完之后的结果还是一个字符串。

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

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

// 原文出自: CSDN-请叫我阿ken

位运算符

整形数据在内存中以二进制的形式表示,例如一个 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。

// 原文出自: CSDN-请叫我阿ken

!!!!

instanceof 运算符

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

switch 开关语句

switch(表达式){
case 常量值1;
若干个语句
break;

case 常量值2;
若干个语句
break;
......

case 常量值n;
若干个语句
break;

default;
若干语句
}

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

// 原文出自: CSDN-请叫我阿ken

循环语句

while 循环

  • 其语法机制及执行原理:
    while (布尔表达式) {
    循环体;
    }
    执行原理:如果布尔表达式为true,就执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果还是true,则再执行循环体,如果为false,则循环结束。
  • 案例 死循环:
while(true){
System.out.println("死循环");
}

// 原文出自: CSDN-请叫我阿ken

控制语句

  1. 关于循环语句
    for 循环、while 循环、do…while 循环
    什么是循环语句,为什么要使用这种语句?
    因为在现实世界当中,有很多事情都是需要反复/重复的去做。为了减少代码量,要使用循环语句。

要求:
第一点:必须要将语法结构背会。
第二点:必须要理解他们的执行原理。
去实现案例,去实现功能。
先从简单的案例开始,慢慢的经过一个过程你才能解决复杂的问题。

do…while 循环

do {
循环体;
} while(布尔表达式);
/*最后这个分号很关键*/

// 原文出自: CSDN-请叫我阿ken

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

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

// 原文出自: CSDN-请叫我阿ken

转向语句:
break、continue、return(后期整理到方法时再详细学习)

for 循环语句

for(表达式1; 表达式2; 表达式3) {
循环语句;
}


// 原文出自: CSDN-请叫我阿ken
// 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 <= n; i++) {
sum = sum + item;
item = item*10 + a;
}
System.out.println(sum);
}
}


// 原文出自: CSDN-请叫我阿ken

if、switch 属于分支语句,属于选择语句(选择结构)。
for、while、do…while…这些都是循环语句(循环结构)。
break、continue、return 属于转向结构。
for、while完全可以互换,只不过就是语法格式不一样。

回馈粉丝

添加下方本人微信 随机分享两本Java优质电子书

感谢阅读 我是阿ken

你可能感兴趣的:(Java,java)