JAVA学习第二课:基础语法

基础语法

68306-c7buewkgyv6.png

一、注释的使用
//  这是内容    这是单行注释


/*
这里是内容
*/             这是多行注释

/**
这里是内容
*/             这是文档注释(这个目前用不上)
二、关键字的识别
public class HelloWord {
      public static  void  main(String[] args) {
            System.out.println("HelleWord");
       }
}

//其中的  public  和  class 都起着限制作用 所以叫做关键字 
  
 /*关键词都是小写 
   例如代码中的String有大写 它就不是关键词 
但是有人问main是dos命令符中很重要的单词,那是不是关键词嘛?
答案:不是! 可以认为一个很关键的单词。
这些关键词可以在notepad中绿色识别看出。
 */  
三、常量的理解

常量:在程序的执行过程中,其值不会改变的量(数据)

public class HelloWord {
      public static  void  main(String[] args) {
            System.out.println("HelleWord");
       }
}
  中的“HelloWord”就是不会改变的量,打印出来也是它,而其他都消失了或者执行其他任务了。

[line]常量的分类[/line]

01698-jc4edrztkz.png
30501-t3l6fa2qmfk.png

四、-活性变量的理解

17278-ica91jkvpst.png

68902-qbvrz7q6ly.png

[line]数据的类型[/line]
16952-00xlwkb9qy3si.png

[line]数据类型内存占用和取值范围[/line]
21702-2dwzhutzavc.png
48810-dzk7o1i5e6k.png

[line]总结[/line]
51893-zs9yb1uglt.png

[line]变量的定义和使用[/line]

public class bianliang{
     public static  void  main(String[] args) {
     
     /*基本整数类型
     
        整数: 
           byte   1个字节
           short   2个字节
           int     4个字节
           long    5个字节
        小数:
         float   4个字节
         double   8个字节
        字符
             char  2个字节
        布尔  
            Boolean   1个字节
     */
     int a = 1515;
     System.out.println(a);
     
     double b = 124.5;
          System.out.println(b);
     char  c = 'a';
          System.out.println(c);
     
     boolean d = true;
          System.out.println(d);
     
     }




}

[line]变量的注意事项[/line]
1.变量的名不能重复

public class blsy  {
    /*
    变量的名不能重复
    
    
    */
    public static void main(String[] arge){
        int a =20;
        //这是一个错误代码 int a = 10 再加上的话
         
        a =10;
        System.out.println(a);
        
        
        
        
    }
    
    
    
    
    
    
}

2.一条语句

public class blsy2{
    
    /*2.一条语句可以定义多个变量,但是需要用逗号隔开 
    
    另外 一条语句:java 中使用分号作为一条语句的结束
    */
    
    
    public static void main(String[] arge){
        //一条语句可以定义多个变量,但是需要用逗号隔开 
        
        int a=10, b = 20, c = 30;
         System.out.println(a);        
         System.out.println(b);         
         System.out.println(c);        
        
        
        
        
    }
          
    
    
    
    
    
    
    
}

3.变量使用前一定要赋值

public class blsy3{
    //3.变量使用前一定要赋值
    
    public static void main(String[] srge ){
        int a = 10;
        
        
        
        
        
        
    }
    
    
    
    
    
    
    
    
    
}

4.定义float和long变量的注意事项

//4.定义float和long变量的注意事项


//在定义float类型变量时,要在数值后面加上F标识,可大写或者小写
//在定义long类型变量时,要在数值后面加上L标识,可大写或者小写
   
   
      //建议大写  以防搞混
      


public class blsy4{
    public static void main(String[] arge){
        float a = 12.3F;
         
        
        
        long c = 1000L;
         System.out.println(a);
         System.out.println(c);
        
        
        
        
        
        
    }
    
    
    
    
    
    
    
}

5.变量作用域范围

public class blsy5{
    
    
    
    
    
    //5.变量作用域范围
       //变量的作用域: 只在它所在的大括号中有用
       
    public static void main(String[] arge )
    {
        
        int a = 10;
        System.out.println(a);
        //这是对的
        
        
        
        
    }
    
    
    
    
    
}


/*而 下面
public class blsy5{
    
    
    
    
    
    
       
    public static void main(String[] arge )
    {
        
        int a = 10;
        
        ***当这个大括号中的代码执行完毕后,内部所[定义] 的变量就会从内存中消失
        
        
    }
    
    System.out.println(a);
    
    是错误的
    因为它出了大括号!
    
    
    
}
*/

五、键盘录入
 import java.util.Scanner;
  
 


public class jplr {
    
    /*    
    这些过程内容先记住 后续会讲
    
        步骤1:导包,需要写在class的上面
               import java.util.Scanner
               
        
        步骤2.创建对象
               Scanner sc = new Scanner (System.in);
               只有sc可以改变,其他属于固定格式
               
             
        步骤3. 使用变量接收数据
               int i = sc.nextInt();
               只有i变量可以改变,其他属于固定格式
               
    */
    
    public static void main(String[] args ){
        
        //创建对象开始
        
        Scanner ac = new Scanner (System.in);
         
        
        
        //步骤3开始 使用变量接收数据
        int c =ac.nextInt();
        
        System.out.println(c);
        
        
        
        
        
        
        
        
        
        
        
        

        
        
     
        
        
        
        
        
    }
              
    
     
    
    
    
    
    
    
    
    
}
六、标识符

什么是标识符?
就是一切自己起的名字,都叫做标识符。

16766-ozc5dgx19ul.png
81685-wdrjuq8j9k.png
36503-5iaa7093825.png

七、类型转换(隐式转换和强制转换)

[line]隐式转换[/line]
00887-omsfhupj8ol.png

18471-z472g9leckb.png
63131-dh35ugx8b6k.png
09760-bb724drwhh.png

//这是一个转换  leixing1.java
public class leixing{
    public static void main (String[] ar){
        long a = 8;
        double b = a ;
        System.out.println(b);
        
        
        
        
        
        
        
        
        
        
    }
    
}
//这是特殊转换  leixing2.java   byte short  char 
  public class leixing2{
    public static void main (String[] ar){
        byte a = 8;
        byte  b = 5 ;
        byte   c = 4;
        int d = a + b + c ;
        System.out.println(d);
        
        
        
        
        
        
        
        
        
        
    }
    
}

[line]强制转换[/line]
32084-4fqz1hqvo25.png
41861-o4jysebuf3h.png

public class qiangzhi{
    
    //简单理解:大的给小的,不能主动给,需要强转;但是容易导致精度损失。
    
    public static void main (String[] ar){
        
        int a = 10;
        byte b =(byte)a ;
        System.out.println(b);
          
        
        
           //下面看看精度损失问题。
        
            float c = 13.24F;
        int d = (int)c;
        System.out.println(d);
        
    
    
    
    
    
            
    }
        
    
    
    
    
    
    
}

71788-9dvwq5q57mh.png

[line]案例分析[/line]

public class anli {
    
    public static void main(String[] args){
        
        byte a = 3;
        
        byte b = 4 ;
         
        //byte c = a + b;
        
        
        //错误: 不兼容的类型: 从int转换到byte可能会有损失
        
        
        
        /*下面我们解释下:
            前置知识点铺垫: 
                 隐式转换::当小的数据类型和大的数据类型在一起运算的时候。小的会先
                 提升为大的之后,再进行运算
                 
                 特别的:byte  short char 在一起运算的时候,都会直接提升为int(4个字节),然后再进行运算。
                 
        错误原因分析:
                  因为在运算中,变量a和b会自动升级为int数据类型进行运算,而     
                   byte c = a + b 要求把int(4个字节)赋值给byte(1个字节) 
                   所以需要强转.
        解决方案分析:
                  首先让a和b进行相加,使用()提升算数优先级
                  
                  再对相加的结果整体进行强转.
        
        
        
        
        
        */
        
        byte c =(byte)(a + b);
        System.out.println(c);
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    }
    
    

    
}
public class anli2{
    
    public static void main(String[] args){
        
        
        byte d = 5 + 4;
        System.out.println(d);
    //  注意这里面没有a 和 b  这是常量,上一个anli是变量 a 和 b
        
    /* 
    我们来看这个:
    担心的问题:因为3和4是两个常量,整数常量默认的数据类型是int
     按理说两个int相加,结果还是inr,int给byte赋值应该....也需要强转把。
     
    
    但是java出来却没有问题。
    为什么呢????
    
     解释下:这是java存在常量优化机制
    byte d = 3 + 4
     这是两个常量,而这个机制会在编译时候会将3和4自动相加,然后判断
    7是否在byte(1个字节)的取值范围之内。
    
    如果在:通过编译
    如果不在:编译失败
    
    
    
    
    再看看long 
    
    
    */
    {
        
        long num1 = 123; //123本应该是整数常量中的int数据类型 为什么直接编译成功了呢?
        
                          // 应该123在int范围之内,所以根据小的可以存在大的,也在龙
                          //long范围之内
                          
        long num2 = 12345678997878787L;         //此时又出错了 因为这个数值超过了int 则需要把它变为long类型          
        System.out.println(num1);
        System.out.println(num2);
        
    }    
        
        
        
        
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}

添加新评论