JAVA基础--JAVA SE(知识点总结 Ⅱ )

简介: JAVA基础

一.流程控制语句

1.Java中的流程控制语句
  • 三类

    • 顺序结构语句:从进入到程序的入口之后,代码从上而下依次加载

      • 如: 从main进来之后,直接去输出,依次输出...
    • 选择结构语句:

      • if语句-----开发中使用比较多的,尤其格式2:if...else...
      • switch语句
    • 循环结构语句:

      • for
      • while
      • do-while
2.选择结构语句之if
  • 格式一:

    • 判断表达式是否成立,如果成立,则执行语句,否则不执行;
    • 注意事项:

      • if()后面不能带分号
      • 有分号的地方就不能{,有{的地方,不能有分号

            if(表达式){
                
                语句;
            }
//导包
import java.util.Scanner ;

public class IfDemo1{
    
    public static void main(String[] args){
            //创建键盘录入对象
            Scanner sc = new Scanner(System.in);
            //提示并录入数据
            System.out.println("请输入一个数据num:");
            int num = sc.nextInt();
            
            //判断
            if(num >=15){
                System.out.println("num大于等于15");
            }
            System.out.println("over");
        
    }
}
  • 格式二:

    • 执行流程:

      • 首先判断表达式是否成立,如果成立,则执行语句1...
      • 如果不成立,执行语句2...

                if(表达式){        
                    语句1 ...;
                }else{
                    语句2...;
                }
//导包
import java.util.Scanner;

public class IfDemo2{    

    public static void main(String[] args){
    
    //创建键盘录入对象
    Scanner sc = new Scanner(System.in);
    
    //提示并录入数据
    System.out.println("请输入第一个数据:");
    int a = sc.nextInt();
    
    System.out.println("请输入第二个数据:");
    int b = sc.nextInt();
    
    //if...else... 流程语句

    //方式1:直接使用变量接收 (推荐第一种)
    //定义一个变量
    int max;
    if(a > b){
        //将a的值赋值给max
        max = a; 
        
        //System.out.println(a+"是最大值");
    }else {
        //将b的值赋值给max
        max = b ;
        //System.out.println(b+"是最大值");
    }
    
    System.out.println("max:" + max);
    
    System.out.println("----------------------------------"); 
    
    //方式2:直接输出
    if(a > b){
        System.out.println(a + "是最大值");
    }else {
        System.out.println(b + "是最大值");
        }
    }
}
  • 格式三:

    • 执行流程:

      • 先判断表达式1是否成立,成立,执行语句1
      • 如果不成立,继续判断表达式2是否成立,成立,则执行语句2,,,

            ...
        
      • 如果上面的表达式都不成立,执行else中的语句n..

                if(表达式1){
                        语句1 ...;
                }else if(表达式2){
                    语句2...;
                    ...
                }else{
                    语句n...;
                    
                }
//导包
import java.util.Scanner ;

class IfDemo4{
    
public static void main(String[] args){
    //创建键盘录入对象
    Scanner sc = new Scanner(System.in) ;
    //提示,录入数据
    System.out.println("请输入学生的成绩:") ;
    int  socre = sc.nextInt() ;
    
    /*
        90-100    优秀 
        80-90     较好
        70-80     良好
        60-70     及格
        60以下    不及格
    */
    //if格式3
    /*
    if(socre>=90 && socre<=100){
        System.out.println("优秀") ;
    }else if(socre>=80 && socre<90){
        System.out.println("较好") ;
        
    }else if(socre>=70 && socre<80){
        System.out.println("良好") ;
    }else if(socre>=60 && socre<70){
        System.out.println("及格") ;
    }else{
        System.out.println("不及格") ;
    }
    */
    
    //学习任何计算机语言:程序---最终给客户去用的,考虑开发完成之后,自测
    //测试 :正确的数据 ,错误数据,边界数据
    
    //优化:最终版:加入一些非法数据的提示
    if(socre>100 || socre<0){
        System.out.println("您输入的数据不合法") ;
    }else if(socre>=90 && socre<=100){
        System.out.println("优秀") ;
    }else if(socre>=80 && socre<90){
        System.out.println("较好") ;
    }else if(socre>=70 && socre<80){
        System.out.println("良好") ;
    }else if(socre>=60 && socre<70){
        System.out.println("及格") ;
    }else{
        System.out.println("不及格") ;
    }
    
        //jvm:java虚拟机 校验你的语法的时候,需要校验语法的整个结构,考虑如果if的里面都不成立,这个程序没有结束;
        //就会出现问题;
        
    }

}
  • if...else...嵌套

    • 格式

      if(表达式1){
                      if(表达式2){
                          
                          语句1;
                      }else{
                          语句2;
                      }
                  
              }eles{
                  if(表达式3){
                          
                          语句3...;
                      }else{
                          语句4...;
                      }
                  
              }
      import java.util.Scanner ; 
      class IfTest{
          
          public static void main(String[] args){
              
              //创建键盘录入对象
              Scanner sc = new Scanner(System.in) ;
              
              //提示并录入数据
              System.out.println("请输入第一个数据:") ;
              int num1 = sc.nextInt() ;
              
              System.out.println("请输入第二个数据:") ;
              int num2 = sc.nextInt() ;
              
              System.out.println("请输入第三个数据:") ;
              int num3 = sc.nextInt() ;
              
              
              
              int max ; 
              if(num1>num2){
                  //语句----if...else
                  if(num1>num3){
                      max = num1 ; //num1大
                  }else{
                      max = num3 ; //num3大
                  }
                  
              }else{
                  
                  //num2比num1大
                  if(num2>num3){
                      //将num2赋值max
                      max = num2 ;
                  }else{
                      //将num3赋值给max
                      max = num3 ;
                  }
                  
              }
              System.out.println("三个数据的最大值是:"+max) ;
              
              
          }
      }
      3.选择结构语句之switch
  • 格式

     switch(表达式或者某个变量值){
               case  值1:
                          语句1;
                          break ;
               case  值2:
                          语句2:
                          break ;
               ...
    
               default:
                          语句n;
                          break ;
               }
    /*需求:
               键盘录入一个值,判断星期
                      1,星期一
                      2,星期二
                      3,星期三,
                      4,星期四
                      5,星期五
                      6,星期六
                      7,星期日 */
    import java.util.Scanner;
    
    public class SwicthDemo {
    
        public static void main(String[] args) {
            //创建键盘录入对象
            Scanner sc = new Scanner(System.in) ;
            //提示并录入数据
            System.out.println("请输入一个星期(1-7的数据): ") ;
            int week = sc.nextInt() ;
      switch (week){
                case 1:
                    System.out.println("星期一") ;
                    break ;
                case 2:
                    System.out.println("星期二") ;
                    break ;
                case 3:
                    System.out.println("星期三") ;
                    break ;
                case 4:
                    System.out.println("星期四") ;
                    break ;
                case 5:
                    System.out.println("星期五") ;
                    break ;
                case 6:
                    System.out.println("星期六") ;
                    break ;
                case 7:
                    System.out.println("星期日") ;
                    break ;
                default :
                    System.out.println("非法数据") ;
                    break ;
            }
        }
    }
  • 执行流程

    • switch接收结果

      • 接收的结果和case后面的值1进行对比,成立,执行语句1,break 结束语句;
      • 值1和switch接收的结果不匹配,和值2进行比较,成立,执行语句2, break,结束语句;
      • ...
      • 如果上面case都不匹配,执行default语句,语句n,break ,结束...
  • switch后面的跟的值的数据类型可以有哪些类型?

    • 基本数据类型:byte,short,int,char
    • jdk5以后可以是枚举类型 enum:引用类型
    • jdk7以后可以是String字符串 :引用类型
  • switch语句中的注意事项也是 (考点)

    • 关于switch中的case语句后面只能常量,不能是变量 (体现Java是一种强类型语言)

      *  前端的javascript(弱类型语言):它里面的swtich的case是可以是变量,可以是个常量 
      
    • 在书写switch语句的标准结构,不忘了break,如果语句中忘了书写break,会出现一个现象:case穿透!

      public class SwitchTest {
          public static void main(String[] args) {
               
              // case穿透   
              int a = 3 ;
              int b = 4 ;
              switch (a){//3
                  default:
                      b++ ;
                      break;
                  case 2:
                      b ++;
                  case 3://匹配成功
                      b++ ; //4 ++ = 5
                  case 4 :
                      b++ ; // 5++ = 6
              }
              //b的值是多少;
              System.out.println("b:"+b);
       * 在有的需求里面利用  case穿透 来完成一些需求;
      
         ```java
         import java.util.Scanner;
         
         public class SwitchTest2 {
         
             public static void main(String[] args) {
                 //创建键盘录入对象
                 Scanner sc = new Scanner(System.in) ;
                 //提示并录入数据
                 System.out.println("请您输入一个月份的值:") ;
                 int month = sc.nextInt() ;
                 //利用case穿透:灵活运用
                 switch (month){
                     case 3:
                     case 4:
                     case 5:
                         System.out.println("春季") ;
                         break ;
                     case 6:
                     case 7:
                     case 8:
                         System.out.println("夏季");
                         break ;
                     case 9:
                     case 10:
                     case 11:
                         System.out.println("秋季");
                         break ;
                     case 12:
                     case 1:
                     case 2:
                         System.out.println("冬季");
                         break ;
                     default:
                         System.out.println("非法数据!!") ;
                         break ;
                 }
             }
         }
         ```
      
    • 关于switch语句的结束条件

      • 要么遇见break结束
      • 程序默认执行到末尾
    • 关于default语句可以在switch语句中的任何位置,不影响语句的执行流程;

      • 不管在任何位置,只要case语句都不匹配,执行default;
      • 如果default语句在语句中,break不要省略
      • 如果default语句的末尾,break可以省略(不建议);
/*
使用switch语句,完成模拟单项选择题操作
*/
import java.util.Scanner;

public class Demo9 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("电视剧《仙剑奇侠传》中,李逍遥的扮演者是谁?");
        System.out.println("请选择以下选项:" + "\n" + "[A.胡歌]" + "\t" + "[B.彭于晏]" + "\t" + "[C.袁弘]" + "\t" + "[D.霍建华]");

        String choice = scanner.next();//使用字符串
        switch (choice){
            case "A":
                System.out.println("恭喜你,回答正确!");
                break;
            case "B":
                System.out.println("对不起,回答错误!");
                break;
            case "C":
                System.out.println("对不起,回答错误!");
                break;
            case "D":
                System.out.println("对不起,回答错误!");
                break;
            default:
                System.out.println("没有该选项 ");
                break ;
        }
        System.out.println("-------------------------------------------------------");
        
         int choice = sc.nextInt() ;
        //将int类型---转换成char
        char choiceNum = (char) choice ;
        System.out.println(choiceNum);
        switch (choiceNum){
            case 'A':                                                //65
                System.out.println("√");
                break ;
            case 'B':                                                //66
                System.out.println("×");
                break ;
            case 'C':                                                //67
                System.out.println("×");
                break ;
            case 'D':                                                //68
                System.out.println("×");
                break ;
            default:
                System.out.println("没有该选项 ");
                break ;
        }
    }
}
4.循环结构语句之for
  • 格式

    for(初始化语句;条件表达式;控制体语句或者步长语句){
    
            循环体语句;
    
    }       //降低了冗余度
  • 执行流程

    • 初始化语句:给变量赋值 (只执行一次)
    • 然后执行条件表达式,看其是否成立,如果成立,执行的是循环体语句------>再次回到控制体语句或者步长语句--->变量自增或者自减
    • 随后再次执行条件表达式,看其是否成立,成立,继续循环体语句---->再次回到控制体语句或者步长语句---->变量自增或者自减

      ....

    • 一直执行到条件表达式不成立,for循环结束;
  • 举例

    • 需求:

      • 在控制台输出1-10的每一个数据
      • 循环的求和思想
      • 在控制台输出1-10的之间的所有的数据之和
    • 求和思想:

      • 将上面的这种格式变形一下:
      • 定义一个结果变量: 从0开始 sum这个变量

        • 0 + 1 = 1 ;

          • 1 + 2 = 3 ;

            • 3 + 3 = 6 ;

              • 6 + 4 = 10 ;

                • 10 +5 = 15 ;

                  ....

      • 两个加数:
      • 前面的这个加数:就是求和结果变量sum,从0开始
      • 后面的这个加数:就是1-10的数据;
    • 使用步骤:

      • 定义一个最终结果变量sum,从0开始记录
      • 使用 for(初始化语句;条件表达式;控制体语句){

        ​ //循环体语句

        ​ //先取出来每一个数据

        ​ 使用结果变量就是上面的数据求和,然后再赋值给最终结果变量;

        ​ }

      • 输出sum即可
public class ForDemo {
    public static void main(String[] args) {
        //定义一个结果变量
        int sum = 0 ;
        for(int x = 1 ; x <=10 ; x ++) {// 1-10之间的数据
             //x的取整:1,2....10;
            sum += x ; //sum = sum + x ;

        }
        System.out.println("1-10的数据之和是:"+sum);
    }
}
  • 经典-水仙花数

    • 需求:在控制台输出所有的水仙花数

      • 水仙花数

        • 水仙花指的是三位数,而且这个三位数的每一个位上的立方相加就是当期数据本身
        • 举例:153 = 1 1 1 + 555 + 333

          • 153 % 10 = 3 ;---确定个位的数据
          • 153 / 10 % 10 = 5 --- 确定十位的数据
          • 153 /10 /10 %10 = 1 --- 确定百位上的数据 或 153 / 100 = 1
    • 分析:

      • 三位数,明确了范围 100-999---使用for循环
      • 确定每各位的数据本身的值:

        • 定义三个变量,分别代表个位,十位,百位数据本身
        • int ge = 当前这个数据 % 10 ;

          int shi = 当前这个数据 /10 %10 ;

          int bai = 当前这个数据 /10/10 % 10 ;

      • for循环中加入逻辑判断
      • 如果当前x == (gegege)+(shishishi)+(baibaibai),
      • 满足条件,直接输出x
public class forDemo {
    public static void main(String[] args) {
        System.out.println("水仙花数是:") ;

        // 三位数,明确了范围 100-999---使用for循环       
        for (int x = 100; x < 1000; x++) {
            //x:100-999的数据
            //确定每各位的数据本身的值:
            // 定义三个变量,分别代表个位,十位,百位数据本身
            int ge = x %10 ; //x=153
            int shi = x /10 %10 ;
            int bai = x /10 /10 % 10;
            
            if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){
                System.out.println(x) ;
            }


        }
    }
}
5.循环结构语句之while
  • 格式

     初始化语句;
             while(条件表达式){
                 循环体语句 ;
                 控制体语句或者步长语句;
             }
  • 执行流程:

    • 首先,先初始化语句,对变量赋值;
    • 执行条件表达式,是否成立;若成立,则执行循环体语句,依据控制体语句进行变量控制--->再次判断条件表达式是否成立,成立,执行循环体语句--->控制体语句进行变量控制
    • ...
    • 当条件表达式不成立,while循环结束;
    • 注意事项:控制体语句不要忘了,否则死循环;
  • 举例

    • while循环统计水仙花有多少个,并输出
public class WhileTest {
    public static void main(String[] args) {
        //定义统计变量
        int count = 0 ;
        //初始化语句
        int m = 100 ;
        while(m<=999){
            //循环体
            //求出ge,shi,bai的数据
            int ge = m % 10 ;
            int shi = m /10 % 10;
            int bai = m /10 /10 % 10 ;
            //满足条件
            if(m ==(ge*ge*ge+shi*shi*shi+bai*bai*bai)){
                //统计变量自增
                count ++;
                System.out.println("第"+count+"次,"+"水仙数是:"+m);
            }
            m++ ;
        }
        System.out.println("水仙花数共有:"+count+"个");
    }
}
  • for循环和while循环的区别

    • 1)共同点:

      • 都能够描述一种循环思想,可以将重复性冗余代码进行优化,提搞程序阅读性
    • 2)不同点:

      • 格式不同

        •    for(初始化语句;条件表达式;控制体语句){
             
                     循环体语句;
             
             }
        • 初始化语句;

          while(条件表达式){
          
              循环体语句;
          
              步长语句;
          
          }
      • 场景不同

        • for循环:明确循环次数 (开发中优先都使用for)
        • while循环:不明确循环次数:
        • 举例:

          键盘录入一个数据,玩猜数字游戏,你也不知道到录入多少次才能猜中

      • 是否节省内存资源:从格式上说

        • for循环的好处:循环结束之后,变量被释放了
        • 而while循环,循环结束,依然能够使用这个变量,相对for循环格式来说,比较耗费内存资源
      • 实际开发中:for是使用最常见的
6.循环结构语句之do while
  • 格式

        初始化语句;
        do{
            循环体语句 ;
            控制体语句 ;
            
        }while(条件表达式) ;
    这个循环语句和while,for循环最大的区别: 当条件不成立的,循环体至少执行一次.
public class DoWhileDemo {
    public static void main(String[] args) {

        int x = 6 ;  //初始化了
        do{
            System.out.println("helloJavaSE"); //执行循环体
            x++;  //7
        }while(x<=5) ;
    }
}
7.循环结构语句之死循环
  • 死循环的两种格式

    • 第一个格式

          for(;;){
               
            循环体语句;
               
           }
    • 第二个格式:

          while(true){  
      
               //死循环格式中使用比较多
               循环体语句;
      
          }
  • 举例

    • 猜数游戏

      • 分析:

        • 需要产生一个随机数:java.lang.Math 里面的功能random()产生一个1-100之间的随机数

          • jdk提供了类:java.lang.Math
          • java.lang包下的类不需要导包,针对数学运算的工具类,提供了很多的方法;
          • 获取伪随机数,取值范围:[0.0,1.0)

          //不断的键盘录入

        • while(true){

          • 创建一个键盘录入对象,录入int类型
          • 录入的数据要和Math里面产生的1-100之间数据进行对比,
          • 如果大了,提示 "你要猜的数据大了"
          • 如果小了,提示"你要猜的数据小了"
          • 如果一致,提示"恭喜您,猜对了"
          • 结束死循环,break ;

            }

    public class DieLooperTest {
        public static void main(String[] args) {
    
            //需要产生一个随机数:java.lang.Math 里面的功能random()产生一个
            //1-100之间的随机数
            int number = (int) (Math.random() *100 +1); //[0.0-1.0)*100-->[0.0-100.0)-->[1.0-101.0) 强转取整1-100
            System.out.println(number) ;
            //定义统计变量
            int count = 0 ;
            //不断的键盘录入
            while(true){
                //只要进一次循环就开始计算
                count ++;
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in) ;
    
                //提示并录入数据
                System.out.println("请您输入要猜的数字:") ;
                int guessNumber = sc.nextInt() ;
    
                //使用guessNumber上面的随机数获取到的number进行对比
                if(guessNumber>100 || guessNumber< 0){
                    System.out.println("你要输入数据不合法,它是在0-100之间");
                }else if(guessNumber> number){
                    //如果大了,提示 "你猜的数据大了"
                    System.out.println("你猜的"+guessNumber+"大了") ;
                }else if(guessNumber <number){
                    //如果小了,提示"你猜的数据小了"
                    System.out.println("你猜的"+guessNumber+"小了") ;
                }else{
                    //如果一致,提示"恭喜您,猜对了"
                    System.out.println("恭喜您,第"+count+"次猜对了") ;
    
                    //结束死循环
                    break ;
                }
            }
    
        }
    }
8.循环结构语句(补充)
  • for循环嵌套(双重for循环)

    //for循环的嵌套
              for(初始化语句1;条件表达式1;控制体语句1){   //可以看做控制行
                  //循环体就是for循环语句
                  for(初始化语句2;条件表达式2;控制体语句2){  //可以看做控制列
                      循环体语句;,,,
                  }
              }
  • 举例

    • 99乘法表

        public class ForForDemo {
          public static void main(String[] args) 
              for(int x = 1 ; x <= 9 ; x++){ //9行列
                  for(int y = 1 ; y<= x ; y++){//列数随着x的变化而变化
                      System.out.print(x + "×" + y + "=" + (y*x) + "\t");
                      //1*1=1
                      //2*1=2  2*2=4
                      //3*1=3  3*2=6  3*3=9
                      //4*1=4  4*2=8  4*3=12  4*4=16...
                  }
                  System.out.println();//换行
      
              }
          }
      }

二.跳转控制语句

1.break
  • break:中断结束(结束循环或者switch语句中)

    public class BreakDemo {
        public static void main(String[] args) {
    
           // break ;
    
            //for循环,10次
            for(int x = 1 ; x <=10 ; x++){
                //加入一个逻辑判断
                if(x == 3){
                    break ; //循环中使用/ switch本身语法就带break
                }
    
                System.out.println(x) ;       // 1   2  (x == 3时跳出循环)
            }
        }
    }
2.continue
  • continue:只是结束当前循环,继续立即进入下次循环(循环语句中使用)

    public class ContinueDemo {
        public static void main(String[] args) {
    
            //for循环
            for(int x = 1; x<=10 ; x++){
                if(x == 2){
                    continue;//只是结束当前循环,继续立即进入下次循环
                }
                System.out.println(x);      //2不输出
                //1
                //3
                //4
                //5
                //6
                //7
                //8
                //9
                //10
            }
        }
    }    
3.return
  • return:结束方法的 (结束有具体返回值的方法)

    • return: 实际开发中,return 需要携带结果,-------引入Java中定义方法
    • return: 与Java中的方法相关的,很少单独去使用
public static void main(String[] args) {

        System.out.println("程序开始了...");
        //for循环
        for(int x =1 ; x <=10 ;x ++){
            //加入逻辑判断
            if(x==3){
                System.out.println("条件成立..");

                return ;  //很少单独用---->结束了方法

            }
            System.out.println(x) ;
        }
        System.out.println("程序结束了,Over...");
    }

在这里插入图片描述
)]

目录
相关文章
|
3月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
407 1
|
5月前
|
存储 缓存 安全
Java基础 - 知识点
Java基础知识点涵盖语言特性、面向对象与基本数据类型、缓存池机制、String类特性、参数传递、类型转换、继承、抽象类与接口区别、重写与重载、Object通用方法及关键字使用等核心内容,是掌握Java编程的重要基石。
|
5月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
235 3
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
5月前
|
缓存 安全 前端开发
Java 核心知识点与实战应用解析
我梳理的这些内容涵盖了 Java 众多核心知识点。包括 final 关键字的作用(修饰类、方法、变量的特性);重载与重写的区别;反射机制的定义、优缺点及项目中的应用(如结合自定义注解处理数据、框架底层实现)。 还涉及 String、StringBuffer、StringBuilder 的差异;常见集合类及线程安全类,ArrayList 与 LinkedList 的区别;HashMap 的实现原理、put 流程、扩容机制,以及 ConcurrentHashMap 的底层实现。 线程相关知识中,创建线程的四种方式,Runnable 与 Callable 的区别,加锁方式(synchronize
110 0
|
5月前
|
存储 Java 程序员
Java 基础知识点全面梳理包含核心要点及难点解析 Java 基础知识点
本文档系统梳理了Java基础知识点,涵盖核心特性、语法基础、面向对象编程、数组字符串、集合框架、异常处理及应用实例,帮助初学者全面掌握Java入门知识,提升编程实践能力。附示例代码下载链接。
203 0
|
5月前
|
Java 编译器 数据安全/隐私保护
Java 大学期末考试真题与答案 含知识点总结 重难点归纳及题库汇总 Java 期末备考资料
本文汇总了Java大学期末考试相关资料,包含真题与答案、知识点总结、重难点归纳及题库,涵盖Java基础、面向对象编程、异常处理、IO流等内容,并提供完整代码示例与技术方案,助你高效复习备考。
255 3
|
6月前
|
存储 安全 Java
2025 年最新 40 个 Java 基础核心知识点全面梳理一文掌握 Java 基础关键概念
本文系统梳理了Java编程的40个核心知识点,涵盖基础语法、面向对象、集合框架、异常处理、多线程、IO流、反射机制等关键领域。重点包括:JVM运行原理、基本数据类型、封装/继承/多态三大特性、集合类对比(ArrayList vs LinkedList、HashMap vs TreeMap)、异常分类及处理方式、线程创建与同步机制、IO流体系结构以及反射的应用场景。这些基础知识是Java开发的根基,掌握后能为后续框架学习和项目开发奠定坚实基础。文中还提供了代码资源获取方式,方便读者进一步实践学习。
1663 2
|
6月前
|
并行计算 Java API
Java 入门循环结构基础知识点详解
摘要:本文介绍了Java现代循环技术的进阶应用,包括Stream API、响应式编程和模式匹配,展示了如何用Stream API替代传统循环进行声明式集合处理(如过滤、映射和并行计算),以及响应式编程在异步非阻塞场景下的优势。文章还通过电商订单处理系统的案例演示了这些技术的综合应用,并提供了性能优化建议,如合理使用并行处理和避免循环内对象创建。这些现代特性使Java代码更简洁、高效,更适合高并发和I/O密集型场景。
85 1
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
158 1