Java语法基础笔记

编译:

   javac demo.java


运行:

   java demo


编译,将class文件放到相应文件夹中:

   javac -d .\classfile demo.java


一个java源文件中可以定义多个类,但最多只能有一个类用public来修饰,而且该public修饰的类名要与java源文件名一样。


定义标识符的规则:

   (1) 以 "_" , "$" , 字母开头;

   (2) 只含有 "_" , "$" , 字母 , 数字;

   (3) 没有长度限制,不能有空格;

   (4) 不能使用java的关键字或保留字

   (5) 大小写敏感

例如:    _abc   √
          $ABC   √
          2A     ×    不能以数字开头
          A#     ×
          For    √    大小写敏感
          for    ×    关键字


数据类型:

boolean       true/false
byte          8位整型  1个字节
short         16位整型 2个字节
int           32位整型 4个字节
long          64位整型 8个字节
char          16位 unicode 字符  2个字节
double        64位浮点数字型 8个字节
float         32位浮点数字型 4个字节


移位运算符:

>>        (右移,右移一位等于除2)
<<        (左移,左移一位等于乘2)
>>>       (无符号右移)


运算符的优先级:

wKiom1LkzlnjvZJ3AABy6Ay-C_0586.jpg


常量的声明:

final 类型 常量名;
final 类型 常量名=常量值;


静态static:

   (1) 在static方法中只能访问static类变量,只能调用static的函数

   (2) 在非static方法中可以使用static变量,非static变量


函数的重载:

   (1) 发生在同一个类中

   (2) 方法名相同

   (3) 参数列表不同(类型,数量,顺序)

   (4) 仅仅返回值类型不同,不属于函数的重载。


程序流程控制语句:

   break;        语句:跳出其所在的循环

   break out;    跳出out指示的那一层循环

   continue;     跳出当次循环的剩余部分,直接进入下一次循环

   continue out; 跳出out指示的那一层循环的当次循环,进入那一层循环的下次循环

   break,continue加标号的怎么用?什么时候用?即各个控制结构语句是可以嵌套的

   写TestBreak.java演示break out的使用

public static void main(String[] args){
    out:for(int i=1;i<=9;i++){
            for(int j=0;j<i;j++){
                for(int k=0;k<j;k++){
                    for(int m=0;m<k;m++){
                        if(i+k+j+m==24){
                            System.out.println(i*1000+j*100+k*10+m);
                            break out;
                    }
                }
            }
        }
}



一维数组:

   (1) 声明数组:

       int[] a;            声明一个数组变量,可以不给数组长度,此时还不会给数组分配空间。

       当a=new int[10];    才会分配空间。

   (2) 初始化:

       int[] a={3,7,54,24,98,1,0,5};√    在定义数组a时就分配空间并初始化

       int[] b=new int[]{4,6,8,32};√     第二个[]中间必须为空,后面才能用{}来初始化;

                                          这里产生了2个对象(数组对象,数组名引用)

       int[] b1=new int[4]{8,4,3,1};×    第二个[]中间有值则后面不能使用{}来初始化

   (3) 数组拷贝:

       System.arraycopy(m,0,n,0,m.length);


二维数组:

   (1) 定义数组:

int[][] a=new int[3][4];                        √
int[][] a; a=new int[3][4];                     √会分配空间
int[][] c1=new int[][3];                        ×
int[3][] d=new int[3][]{{4,5},{7,8},{9,2}};     ×
int[3][] d=new int[][]{{4,5},{7,8},{9,2}};      ×
int[][] b={{1,2,3,4},{5,6,7,8},{9,10,11,12}};   √显示初始化数组
int[][] c=new int[][]{{4,5},{7,8}};             √
int[][] d=new int[3][];printArray(d);           //空指针异常

   (2) 分开定义:

       Java的二维数组本质上是一维数组的一维数组

       b是一个二维数组,如果看成一维数组的一维数组,则b用三个元素,b.length为3;

       b的三个元素分别为b[0],b[1],b[2],这三个又分别是一维数

int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[4];


输入流Scanner:

import java.util.Scanner;
Scanner cin = new Scanner(System.in);
cin.next();
cin.nextInt();
cin.nextLine();
cin.nextDouble();



你可能感兴趣的:(java,基础,入门,语法)