JAVA基础语法

Java

基础语法:

标识符选取:见名知意且不能与关键字重名

是内存中的一小块区域,使用变量名来访问这块区域,因此每一个变量使用前都需要先声明,然后必须进行赋值再进行使用

局部变量:方法或语句块内部声明的变量
成员变量:方法外部,类的内部声明的变量
在大括号内的变量,在大括号外是无法使用的

public class Main {  
	static int j = 2;  
	//int k = 2;  
	public static void main(String[] args) {  
		int i = 1;  
		System.out.println(i);  
		System.out.println(j);  
		//System.out.println(k);  
	}  
		//System.out.println(i);  
}
数据类型:

逻辑性:boolean(true,false)不可以转换为其他的数据类型
文本型:char(Unicode全球语言统一编码:每个字符占两个字节(一个字节占8位),可用十六进制编码形式表示)
整数型:byte(1),short(2),int(4),long(8)

浮点类型:float(4),double(8)

java语言整形常量的三种表示形式:

  • 十进制整数,如:12,-314,0

  • 八进制整数:要求以0开头,如:012

  • 十六进制数,要求0x或0X开头,如:0x12

  • 整型常量默认为int型,声明long型常量可以在后加’l’或’L’,

    如:long i1=888888888888L

浮点类型:float,double

  • 十进制数形式,如:3.14 314.0 .3144

  • 科学计数法形式,如:3.14e2 3.14E2 100E-2

  • 浮点类型常量默认为double型,如果要声明一个float型,则需要在数字后面加’f‘或’F‘,

    如:float f =12.3f

基本数据类型转换:

  • boolean类型不可以转换为其他的数据类型

  • 整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

    1、容量小的类型自动转换为容量大的数据类型;

    ​ 数据类型按容量大小排序为:byte,short,chat->int->long->float->double

    ​ byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型

​ 2、容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意

​ 3、有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算

 //    public static void main(String[] args){

//        int a=100;
//        //int b=888888888888888888888888888;
//        //long b = 888888888888888; //必须加L
//        long b = 888888888888888L;
//
//        double c = 3.14;
//        //float d = 12.3; //必须加f
//        float d = 12.3f;
//        int e = (int)12.3;
//
//        System.out.println(a+","+b);
//        System.out.println(c+","+d+","+e);


//    }
public static void main(String[] args) {

        int i=1, j;
        //j = j + 10; //j未被赋值
        i = i/10;
        //i = i*0.1; //0.1是一个浮点型字面量
        i =(int) (i * 0.1);

        //long l1 = 12345678, l2 = 88888888888; //long类型应在数字后加L或l
        long l1 = 12345678L, l2 = 88888888888L;

        byte b1 = 1, b2 = 2, b3=127; //b3=129 //byte最大为127
        //byte b = b1 - b2;
        byte b = (byte)(b1 - b2);

        double d1 = 2e20, d2 = 124;
        double d = d1*i +b;

        float f1 = 0.1F, f2 = 1.23F;
        float f3 = f1 + f2;
        //float f4 = f1 + f2*0.1; //f2*0.1后为double类型
        float f4 = f1 + (float)(f2*0.1);
        float f  = (float)(d1*5 + d2);


    }
程序的格式:

1、大括号对齐

2、遇到{时缩进

3、程序块之间加空行

4、并排语句之间加空格

5、运算符两侧加空格

6、{前面有空格

7、成对编程

运算符:

算术运算符:+,-,*,/,%,++,–

关系运算符:>, <, >=, <=, ==, !=

逻辑运算符:!(逻辑非),&(逻辑与),|(逻辑或),^(逻辑异或), &&(短路与), ||(短路或)

位运算符:&, |, ^, ~, >>, <<, >>>

赋值运算符:=

扩展赋值运算符:+=, -=, *=, /=

字符串连接运算符:+

自加和自减运算符:++(–) 在前时先运算再取值,在后时先取值再运算

public static void main(String[] args){

        int i1= 10, i2 = 20;
        int i = (i2++);
        System.out.println("i=" + i); //20
        System.out.println("i2=" + i2);//21

        i = (++i2);
        System.out.println("i=" + i); //22
        System.out.println("i2=" + i2); //22

        i = (i1--);
        System.out.println("i=" + i); //10
        System.out.println("i2=" + i1); //9

        i = (--i1);
        System.out.println("i=" + i); //8
        System.out.println("i2=" + i1); //8
    }

逻辑运算符:
在这里插入图片描述

public static void main(String[] args){

        boolean a, b, c;
        a = true;
        b = false;
        c = !a; System.out.println(c); //f
        c = a & b; System.out.println(c); //f
        c = a | b; System.out.println(c); //t
        c = a ^ b; System.out.println(c); //t
        c = a && b; System.out.println(c); //f
        c = a || b; System.out.println(c); //t


        int i = 1, j = 2;
        boolean flag1 = (i > 3) && ((i + j) > 5);//i > 3 为false,所以flag1为false,第二个操作数将不再计算
            System.out.println(flag1);
        boolean flag2 = (i < 2) || ((i + j) < 4);//i < 2 为true, 所以flag2为true, 第二个操作数将不再计算
            System.out.println(flag2);
        }

赋值运算符与扩展赋值运算符:

在这里插入图片描述

字符串连接运算符:

  • “+”除用于算术加法运算外,还可以用于对字符串进行连接操作

​ int id = 800 + 90

​ String s = “hello” + “world”

  • "+"运算符两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串类型(String)然后再进行连接

​ int c = 12;

​ System.out.println(“c=” + c);

  • 进行打印时,无论任何类型,都自动转换为字符串类型进行打印

    System.out.println©;

表达式:

表达式是符合一定语法规则的运算符和操作数的序列

表达式的运算顺序:
按照运算符的优先级从高到低的顺序进行

​ 优先级相同的运算符按照事先约定的结合方向进行
在这里插入图片描述

三目条件运算符:

​ 三目条件运算符,语法格式: x ? y : z

​ 其中x为boolean类型表达式,先计算x的值,如果为true则运算结果为y,相反则为z

public static void main(String[] args){

            int score = 80; int x = -100;

            String type = score < 60 ? "不及格" : "及格"; //及格
            int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);   //-1   遇到复杂的表达式从里到外计算
            System.out.println("type=" + type);
            System.out.println("flag=" + flag);
        }
循环语句:

if else语句:

if else语句形式:

if…else

if…else if

if…else if…else if

if…else if…else if …else

只有一句需要执行的语句时,可以省略{}(但是建议不要省略,容易出错)

for语句:

for语句形式:
for(表达式1;表达式2;表达式3){

​ 语句;

​ … ;

}

执行过程:

首先计算表达式1,接着执行表达式2,若表达式2的值为true则执行语句,然后接着执行表达式3,再判断表达式2的值,依此重复执行下去,直到表达式2的值为false

public static void main(String[] args){
            long result = 0;
            long f = 1;
            for(int i = 1; i <= 10; i++){
                f = f * i;
                result += f;

            }
            System.out.println("result=" + result);

 public static void main(String[] args){

            long result = 0;
            for(int i = 1; i <= 99; i+=2){
                result += i;
            }
            System.out.println("result=" + result);
        }

while & do while 语句:

while语句形式:
while(逻辑表达式){

​ 语句;

​ …;

​ }

执行过程:
先判断逻辑表达式的值。如果为true,则执行后面的语句,然后再次判断条件并反复执行,直到条件为false为止

do while语句形式:
do{

​ 语句;

​ …;

​ }

​ while(逻辑表达式);

执行过程:
先执行语句,再判断逻辑表达式的值。如果为true,则执行语句,然后再次判断条件并反复执行,直到条件为false为止

public static void main(String[] args) {

            int i = 0;
            while (i < 10) {
                System.out.println(i);
                i++;
            }

            i = 0;
            do {
                i++;
                System.out.println(i);
            }
            while (i < 10);
        }

break & continue 语句:

break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;

int stop = 4;
        for(int i = 1; i <= 10; i++){
            if(stop == i) break;
            System.out.println("i=" + i);
        }
//输出1~100内前5个可以被3整除的数
        int num = 0;
        int i = 1;

        while(i < 100){
            if(i % 3 == 0 ) {
                System.out.print(i + " ");
                num++;
            }
            if(num == 5) {
                break;
            }
            i++;
        }

continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程:

	int stop = 4;
for(int i = 1; i <= 10; i++){
    		if(stop == i) continue;
            System.out.println("i=" + i);
}
//输出101~200内的质数
        for(int i = 101; i < 200; i+=2){
            boolean f = true;
            for(int j = 2; j < i; j++){
                if(i % j ==0){
                    f = false;
                    break;
                }
            }    
                if(!f){
                    continue;
                }
                System.out.print(i + " ");
        }

Switch语句(条件语句补充):

​ switch(条件){

​ case xx:

​ …;

​ case xx:

​ …;

​ case xx:

​ …;

​ case xx:

​ …;

​ default:

​ …;

​ }

  • 小心case穿透,推荐使用break语句
  • 多个case可以合并在一起
  • default可以省略,但不推荐省略
  • java中switch语句只能探测int类型值(条件内为int类型)
public static void main(String[] args){

        int i =  8;
        switch(i){
            case 2 :
                System.out.println("A");
                break;
            case 7:
                System.out.println("B");
                break;
            case 4:
                System.out.println("C");
                break;
            case 8:
                System.out.println("D");
                break;
            default:
                System.out.println("error");
        }
    }

方法:
java的方法类似于其它语言的函数,是一段用完成特定功能的代码片段

  • 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void
  • 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配
  • return语句终止方法的运行并指定要返回的数据
public static void main(String[] args){
            m();
            m2(4);
            m3('3',4);
            int i = m4(4, 6);
            System.out.println(i);
        }
        public static void m(){
            System.out.println("ok");
            System.out.println("hello");
        }
        public static void m2(int i){
            if(i < 3)
                return;
            System.out.println(i);
        }
        public static void m3(int i, int j){
            System.out.println(i + j);
        }

    public static int m4(int i, int j){
        return i > j ? i : j;
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值