前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaSE学习】Day2 JavaSE基础语法

【JavaSE学习】Day2 JavaSE基础语法

作者头像
小小程序员
发布2023-02-24 16:51:47
4140
发布2023-02-24 16:51:47
举报
文章被收录于专栏:小小程序员——DATA

 系列文章目录         Day1 JavaSE环境配置         Day2 JavaSE基础语法         Day3 JavaSE数组         Day4 JavaSE面向对象(上)         Day5 JavaSE面向对象(中)         Day6 JavaSE面向对象(下)         Day7 JavaSE面向对象          Day8 JavaSE异常处理         Day9 JavaSE多线程         Day10 JavaSE集合         Day11 JavaSE泛类         Day12 JavaSEIO流         Day13 JavaSE反射

文章目录

前言

一、标识符

1.java关键字的使用

2.标识符的使用

二、代码的使用

1.变量的分类

2.定义变量的格式:

3.变量使用的注意点:

4.基本数据类型变量间运算规则

三、运算符

1.算术运算符:

2.赋值运算符

3.比较运算符(关系运算符)

4.逻辑运算符

5.三元运算符

四、分支结构

if-else条件判断结构

switch-case选择结构

五、循环结构

1.循环结构的四要素

for循环结构

while循环结构

do-while循环结构

“无限循环”结构:

嵌套循环

break和continue关键字的使用

总结

前言

上期简述了JavaSE环境配置和编写了第一个Java程序,这次将讲述JavaSE基础语法,一篇文章带你学会标识符、变量、条件语句、循环语句、分支语句等重要语句。

一、标识符

1.java关键字的使用

  •         定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
  • 特点:关键字中所字母都为小写
  • 具体哪些关键字:

2.标识符的使用

  • 定义:凡是自己可以起名字的地方都叫标识符。
  • 涉及到的结构:
  • 包名、类名、接口名、变量名、方法名、常量名
  • 规则:(必须要遵守。否则,编译不通过)

二、代码的使用

1.变量的分类

  •  按数据类型分类
  •  详细说明:

1. 整型:byte(1字节=8bit)    short(2字节)     int(4字节)     long(8字节)         ① byte范围:-128 ~ 127         ② 声明long型变量,必须以"l"或"L"结尾         ③ 通常,定义整型变量时,使用int型。         ④ 整型的常量,默认类型是:int型 2. 浮点型:float(4字节) \ double(8字节)         ① 浮点型,表示带小数点的数值         ② float表示数值的范围比long还大         ③ 定义float类型变量时,变量要以"f"或"F"结尾         ④ 通常,定义浮点型变量时,使用double型。         ⑤ 浮点型的常量,默认类型为:double 3. 字符型:char (1字符=2字节)         ① 定义char型变量,通常使用一对'',内部只能写一个字符         ② 表示方式:1.声明一个字符 2.转义字符 3.直接使用 Unicode 值来表示字符型常量 4.布尔型:boolean         ① 只能取两个值之一:true 、 false         ② 常常在条件判断、循环结构中使用

2.定义变量的格式:

数据类型  变量名 = 变量值;

数据类型  变量名;

变量名 = 变量值;

代码语言:javascript
复制
int i=10;
//或者
int i;
i=10;

3.变量使用的注意点:

  •    ① 变量必须先声明,后使用
  •    ② 变量都定义在其作用域内。在作用域内,它是有效的。换句话说,出了作用域,就失效了
  •    ③ 同一个作用域内,不可以声明两个同名的变量

4.基本数据类型变量间运算规则

  1. 涉及到的基本数据类型:除了boolean之外的其他7种
  2. 自动类型
  3. 转换(只涉及7种基本数据类型)
  4. 结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
  5.  byte 、char 、short --> int --> long --> float --> double 
  6.  特别的:当byte、char、short三种类型的变量做运算时,结果为int型

说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

强制类型转换(只涉及7种基本数据类型):自动类型提升运算的逆运算。

需要使用强转符:()

注意点:强制类型转换,可能导致精度损失。

三、运算符

1.算术运算符:

代码语言:javascript
复制
+ - + - * / % (前)++ (后)++ (前)-- (后)-- + 
        //除号:/
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;
        System.out.println(result1);//2
        // %:取余运算
        //结果的符号与被模数的符号相同
        //开发中,经常使用%来判断能否被除尽的情况。
        int m1 = 12;
        int n1 = 5;
        System.out.println("m1 % n1 = " + m1 % n1);

        int m2 = -12;
        int n2 = 5;
        System.out.println("m2 % n2 = " + m2 % n2);

        int m3 = 12;
        int n3 = -5;
        System.out.println("m3 % n3 = " + m3 % n3);

        int m4 = -12;
        int n4 = -5;
        System.out.println("m4 % n4 = " + m4 % n4);
        //(前)++ :先自增1,后运算
        //(后)++ :先运算,后自增1
        int a1 = 10;
        int b1 = ++a1;
        System.out.println("a1 = " + a1 + ",b1 = " + b1);
        
        int a2 = 10;
        int b2 = a2++;
        System.out.println("a2 = " + a2 + ",b2 = " + b2);
        
        int a3 = 10;
        ++a3;//a3++;
        int b3 = a3;
        //(前)-- :先自减1,后运算
        //(后)-- :先运算,后自减1
        
        int a4 = 10;
        int b4 = a4--;//int b4 = --a4;
        System.out.println("a4 = " + a4 + ",b4 = " + b4);

【特别说明的】 1.(前)++ :先自增1,后运算  (后)++ :先运算,后自增1 2.(前)-- :先自减1,后运算   (后)-- :先运算,后自减1

2.赋值运算符

=  +=  -=  *=  /=  %= 

代码语言:javascript
复制
        int i2,j2;
        //连续赋值
        i2 = j2 = 10;
        //***************
        int i3 = 10,j3 = 20;
        int num1 = 10;
        num1 += 2;//num1 = num1 + 2;
        System.out.println(num1);//12

        int num2 = 12;
        num2 %= 5;//num2 = num2 % 5;
        System.out.println(num2);

        short s1 = 10;
        //s1 = s1 + 2;//编译失败
        s1 += 2;//结论:不会改变变量本身的数据类型
        System.out.println(s1);

//开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
        方式一:num = num + 2;
        方式二:num += 2; (推荐)
        
        开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
        方式一:num = num + 1;
        方式二:num += 1; 
        方式三:num++; (推荐)

3.比较运算符(关系运算符)

== != >  <  >=  <=  instanceof

代码语言:javascript
复制
        int i = 10;
        int j = 20;

        System.out.println(i == j);//false
        System.out.println(i = j);//20

        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b2 == b1);//false
        System.out.println(b2 = b1);//true

【特别说明的】 1.比较运算符的结果是boolean类型 2.>  <  >=  <= :只能使用在数值类型的数据之间。 3. == 和 !=: 不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。

4.逻辑运算符

& &&  |  || !  ^

代码语言:javascript
复制
        //区分& 与 &&
        //相同点1:& 与  && 的运算结果相同
        //相同点2:当符号左边是true时,二者都会执行符号右边的运算
        //不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
        //开发中,推荐使用&&
        boolean b1 = true;
        b1 = false;
        int num1 = 10;
        if(b1 & (num1++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }

        System.out.println("num1 = " + num1);
        

        boolean b2 = true;
        b2 = false;
        int num2 = 10;
        if(b2 && (num2++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }

        System.out.println("num2 = " + num2);

        // 区分:| 与 || 
        //相同点1:| 与  || 的运算结果相同
        //相同点2:当符号左边是false时,二者都会执行符号右边的运算
        //不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
        //开发中,推荐使用||
        boolean b3 = false;
        b3 = true;
        int num3 = 10;
        if(b3 | (num3++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }
        System.out.println("num3 = " + num3);


        boolean b4 = false;
        b4 = true;
        int num4 = 10;
        if(b4 || (num4++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }
        System.out.println("num4 = " + num4);

【特别说明的】 1.逻辑运算符操作的都是boolean类型的变量。而且结果也是boolean类型

5.三元运算符

(条件表达式)? 表达式1 : 表达式2 【特别说明的】 1. 说明

  • ① 条件表达式的结果为boolean类型
  • ② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
  •   如果表达式为true,则执行表达式1。
  •   如果表达式为false,则执行表达式2。
  • ③ 表达式1 和表达式2要求是一致的。
  • ④ 三元运算符可以嵌套使用

2. 凡是可以使用三元运算符的地方,都可以改写为if-else 反之,不成立。 3. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

四、分支结构

if-else条件判断结构

代码语言:javascript
复制
结构一:
if(条件表达式){
    执行表达式
}

结构二:二选一
if(条件表达式){
    执行表达式1
}else{
    执行表达式2
}

结构三:n选一
if(条件表达式){
    执行表达式1
}else if(条件表达式){
    执行表达式2
}else if(条件表达式){
    执行表达式3
}
...
else{
    执行表达式n
}

说明:

  • 1. else 结构是可选的。
  • 2. 针对于条件表达式:
  •    > 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。
  •    > 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
  •    > 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。
  • 3. if-else结构是可以相互嵌套的。
  • 4. 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。

switch-case选择结构

代码语言:javascript
复制
switch(表达式){
case 常量1:
    执行语句1;
    //break;
case 常量2:
    执行语句2;
    //break;
...
default:
    执行语句n;
    //break;
}

说明:

  • ① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
  •   当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
  •   末尾结束为止。
  • ② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
  • ③ switch结构中的表达式,只能是如下的6种数据类型之一:
  •    byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
  • ④ case 之后只能声明常量。不能声明范围。
  • ⑤ break关键字是可选的。
  • ⑥ default:相当于if-else结构中的else.  
  •   default结构是可选的,而且位置是灵活的。

五、循环结构

1.循环结构的四要素

  • ① 初始化条件
  • ② 循环条件  --->是boolean类型
  • ③ 循环体
  • ④ 迭代条件

说明:通常情况下,循环结束都是因为②中循环条件返回false了。

for循环结构

for(①;②;④){     ③ } 执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②

while循环结构

① while(②){     ③;     ④; } 执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ② 说明: 写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!for和while循环总结:

  • 1. 开发中,基本上我们都会从for、while中进行选择,实现循环结构。
  • 2. for循环和while循环是可以相互转换的! 
  •   区别:for循环和while循环的初始化条件部分的作用范围不同。
  • 3. 我们写程序,要避免出现死循环。

do-while循环结构

① do{     ③;     ④; }while(②); 执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ② 说明:

  • 1.do-while循环至少会执行一次循环体!
  • 2.开发中,使用for和while更多一些。较少使用do-while

“无限循环”结构:

while(true) 或 for(;;) 总结:如何结束一个循环结构? 方式一:当循环条件是false时 方式二:在循环体中,执行break

嵌套循环

1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环

  •   内层循环:循环结构A
  •   外层循环:循环结构B

2.说明:

  • ① 内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
  • ② 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m * n次
  • ③ 外层循环控制行数,内层循环控制列数
代码语言:javascript
复制
        //练习一:
        /*
        ******
        ******
        ******
        ******
        */
        for(int j = 1;j <= 4;j++ ){
            for(int i = 1;i <= 6;i++){
                System.out.print('*');
            }
            System.out.println();
        }
        //练习二:
        /*            i(行号)        j(*的个数)
        *            1            1
        **            2            2
        ***            3            3
        ****        4            4
        *****        5            5
        */

        for(int i = 1;i <= 5;i++){//控制行数
            for(int j = 1;j <= i;j++){//控制列数
                System.out.print("*");
            
            }
            System.out.println();
        }
        //练习三:九九乘法表
        //练习四:100以内的质数

break和continue关键字的使用

                 使用范围             循环中使用的作用(不同点)                 相同点 break:        switch-case                               循环结构中        结束当前循环                    关键字后面不能声明执行语句     continue:    循环结构中        结束当次循环                    关键字后面不能声明执行语句 补充:带标签的break和continue的使用 return在方法中讲。

总结

        本次文章是对JavaSE基础语法的学习,看懂本次文章可以很好的学好标识符、变量、条件语句、分支语句、循环语句等重要语句,如果觉得文章对您有帮助的,可以点点关注和收藏,有疑问的也可以在评论区一起讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  系列文章目录         Day1 JavaSE环境配置         Day2 JavaSE基础语法         Day3 JavaSE数组         Day4 JavaSE面向对象(上)         Day5 JavaSE面向对象(中)         Day6 JavaSE面向对象(下)         Day7 JavaSE面向对象          Day8 JavaSE异常处理         Day9 JavaSE多线程         Day10 JavaSE集合         Day11 JavaSE泛类         Day12 JavaSEIO流         Day13 JavaSE反射
  • 文章目录
  • 前言
  • 一、标识符
    • 1.java关键字的使用
      • 2.标识符的使用
      • 二、代码的使用
        • 1.变量的分类
          • 2.定义变量的格式:
            • 3.变量使用的注意点:
              • 4.基本数据类型变量间运算规则
              • 三、运算符
                • 1.算术运算符:
                  • 2.赋值运算符
                    • 3.比较运算符(关系运算符)
                      • 4.逻辑运算符
                        • 5.三元运算符
                        • 四、分支结构
                          • if-else条件判断结构
                            • switch-case选择结构
                            • 五、循环结构
                              • 1.循环结构的四要素
                                • for循环结构
                                  • while循环结构
                                    • do-while循环结构
                                      • “无限循环”结构:
                                        • 嵌套循环
                                          • break和continue关键字的使用
                                          • 总结
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档