Java学习笔记(2)——基础语法

Java学习——基础语法

1 第一个Java程序

  • public class 后面采用的类名和文件名保持一样,一个Java程序里面只有一个public class;
  • class后面类名必须以字母开头,后面可以跟字母和数字的任意组合;
  • System.out.println()输出数据后换行; System.out.print()输出数据;
public class java_grammar {
    public static void main(String[] args) {
        System.out.println("hello word!");
        System.out.print("hello");
        System.out.print(" word!");
    }
}

2 标识符

  • 定义:Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
  • 技巧:凡是自己可以起名字的地方都叫标识符
  • 规则:由26个英文字母大小写,0-9 ,_或 $ 组成;数字不可以开头;不可以使用关键字和保留字,但能包含关键字和保留字;Java中严格区分大小写,长度无限制;标识符不能包含空格。

2.1 命名规范:

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

3 变量与常量

在 Java 中,利用关键字 final 指示常量,当一个变量被final修饰的时候,该变量只有一次赋值的机会

3.1 声明和赋值

声明变量

  • 语法:<数据类型> <变量名称>
  • 例如:int var;

变量的赋值

  • 语法:<变量名称> = <值>
  • 例如:var = 10;

声明和赋值变量

  • 语法: <数据类型> <变量名> = <初始化值>
  • 例如:int var = 10;

3.2 数据类型

3.2.1 整数类型

在这里插入图片描述

  • java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
3.2.2 浮点类型

在这里插入图片描述

  • Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
3.2.3 字符类型
  • char 型数据用来表示通常意义上“字符”(2字节)
  • Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符
  • char类型的字面量值要用单引号括起来。例如:‘A’ 是编码值为 65所对应的字符常量
  • char类型的值可以表示为十六进制值,其范围从 \u0000 到 \Uffff
    在这里插入图片描述
3.2.4布尔类型
  • boolean类型数据只允许取值true和false,无null
  • 不可以使用0或非 0 的整数替代false和true,这点和C语言不同
3.2.5 字符串类型
  • String不是基本数据类型,属于引用数据类型
  • 使用方式与基本数据类型一致。例如:String str = “abcd”;
  • Java 语言允许使用 + 号连接(拼接)两个字符串
  • 可以使用 equals 方法检测两个字符串是否相等;例如:s.equals(t),如果字符串 s 与字符串 t 相等,则返回 true ; 否则,返回 false。
  • 空串 “” 是长度为 0 的字符串;
  • String 变量还可以存放一个特殊的值,名为 null, 这表示目前没有任何对象与该变量关联
3.2.6 代码解释
class DataType{
    public static void main(String[] args) {
        byte b = 1;
        System.out.println(b);
        short s = 200;
        System.out.println(s);
        int i = 300;
        System.out.println(i);
        long l = 400L;                         //java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
        System.out.println(l);
        char c = '中';                         //字符常量是用单引号(‘’)括起来的单个字符
        System.out.println(c);
        //byte b2 = 200; 该行会出现编译错误,因为200是int型,变量赋予超出其范围的值
        //char 只能存放一个字符,超过一个字符就会产生编译错误
        //char c2 = '中国'; 报错
        //char c3 = 'ab'; //报错
        double d = 123.45;
        System.out.println(d);
        //float f = 54.321;该行会出现编译错误,因为54.321是double型的
        float f2 = 54.321f;                     //Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’
        System.out.println(f2);
        boolean b1 = true;
        System.out.println(b1);
        boolean b2 = false;                     //boolean类型数据只允许取值true和false,无null。
        System.out.println(b2);
        String str = "Hello Java";              //String不是基本数据类型,属于引用数据类型,字符串是用双引号(“”)括起来的
        System.out.println(str);
    }
}

3.3 数据类型转换

  • 自动转换;容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为byte、short、char、int、long、float、double

  • 强制类型转换;将容量大的数据类型转换为容量小的数据类型

在这里插入图片描述

class TypeConversion{
    public static void main(String[] args) {
        byte b = 5;
        int i = 6;
        System.out.println(i);
        int i1 = 10;
        int i2 = 300;
        i = b;
        System.out.println(i);                   //自动转换

        b = (byte) i1;                           //强制转换
        System.out.println(b);                   //因为i1的值是在byte范围之内,所以即便进行强制转换,最后得到的值,也是10

        //因为i2的值是在byte范围之外,所以就会按照byte的长度进行截取
        //i2的值是300,其对应的二进制数是 100101100
        //按照byte的长度8位进行截取后,其值为 00101100 即44
        b =(byte) i2;
        System.out.println(b);

        //查看一个整数对应的二进制的方法:
        System.out.println(Integer.toBinaryString(i2));
        System.out .println(3+4+"Hello!");         //输出:7Hello!
        System.out.println("Hello!"+3+4);          //输出:Hello!34
        System.out.println('a'+1+"Hello!");        //输出:98Hello!
        System.out.println("Hello"+'a'+1);         //输出:Helloa1
    }
}

4 运算符

4.1 算数运算符

在这里插入图片描述

4.2 赋值运算符

= += -= *= /= %=

4.3 比较运算符

在这里插入图片描述

4.4 逻辑运算符

&& || !

4.5 位运算

在这里插入图片描述
在这里插入图片描述

4.6 三元运算

  • (条件表达式)?表达式1:表达式2;

4.7 运算符优先级

在这里插入图片描述

5 流程控制

5.1 if else

在这里插入图片描述

在这里插入图片描述***

  1. else子句与最邻近的if构成一组。

5.2 switch

在这里插入图片描述

5.3 循环语句

1. while
在这里插入图片描述

2. do while
在这里插入图片描述
3. for

在这里插入图片描述

5.4 break、continue和return

  • break语句用于终止某个语句块的执行
  • continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
  • return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束
  1. break只能用于switch语句和循环语句中。
  2. continue 只能用于循环语句中。
  3. 二者功能类似,但continue是终止本次循环,break是终止本层循环。
  4. break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。

class HelloWorld {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("输入成绩:");
        int score = scan.nextInt();

        // if...else
        if (score>90){
            System.out.println("A");
        } else if (90 >= score && score>80){
            System.out.println("B");
        }else if (80 >= score && score>70){
            System.out.println("C");
        }else if (70 >= score && score>60){
            System.out.println("D");
        }else {
            System.out.println("不及格");
        }

        int day = 4;

        //switch
        switch(day){
            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("这个是什么鬼?");
        }

        // while
        int number = 1;
        while (number<=7){
            System.out.println(number);
            number++;
        }
        // do while
        do{
            System.out.println(number);
            number++;
        }while (number<=7);

        // for
        for (int i = 0; i <7 ; i++) {
            System.out.println(i);
        }
        // continue
        for (int j = 1; j < 10; j++) {
            if(0==j%2)
                continue; //如果是双数,后面的代码不执行,直接进行下一次循环

            System.out.println(j);
        }
        // break
        for (int j = 1; j < 10; j++) {
            if(0==j%2)
                break; //如果是双数,结束当前循环

            System.out.println(j);
        }

    }
}

6 输入输出

6.1Scanner用法

  1. 导入包 import java.util.Scanner
  2. 实例化:Scanner scan = new Scanner(System.in);
  3. 调用Scanner类的相关方法获取指定类型
    在这里插入图片描述

6.2 print

  • System.out.println()输出数据后换行; System.out.print()输出数据;
    在这里插入图片描述在这里插入图片描述
class ShuRu{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        System.out.println("姓名:");
        String name = scan.next();
        System.out.println(name);

        System.out.println("年龄");
        int age =scan.nextInt();
        System.out.println(age);

        System.out.println("体重");
        double weight = scan.nextDouble();
        System.out.println(weight);
        
        double x = 1000/3.0;
        int a = 1235;
        String he = "helllo word";
        System.out.println(a);
        System.out.println(x);
        System.out.printf("%d",a);
        System.out.println();
        System.out.printf("%d",a);
        System.out.println();
        System.out.printf("%x",a);
        System.out.println();
        System.out.printf("%s",he);
        System.out.println();
        //System.out.printf("%d",x);
        System.out.printf("%8.2f",x);
        System.out.println();
        System.out.printf("%,.2f",x);
        System.out.println();

    }
}

7 数组

  • 定义:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理

  • 常见概念:数组名、下标、元素、长度

  • 数组元素初始值
    在这里插入图片描述

  • 常见使用:

class ShuZu{
    public static void main(String[] args) {
        // 7.1 声明和初始化
        int[] num;                                    //声明
        num = new int[]{1,2,3,4,5,6,7};               //静态初始化
        String[] names = new String[5];               //动态初始化

        //7.2 赋值
        names[0] = "xiaoming";                        //赋值
        names[1] = "nihao";
        names[2] = "wu";
        names[3] = "ni";
        names[4] = "hjk";

        //7.3 数组长度
        System.out.println(names.length);
        System.out.println(num.length);

        //7.4 遍历数组
        for (int i = 0; i <names.length ; i++) {
            System.out.println(names[i]);
        }

        //7.5 二维数组
        int[][] arr = new int[][]{{1,2},{3,4,5},{6,7}};
        int[][] arr1 = new int[3][2];

        //7.6 调用二维数组元素
        System.out.println(arr[0][1]);
        System.out.println(arr1[0][1]);

        //7.7 二维数组的长度
        System.out.println(arr.length);
        System.out.println(arr[0].length);
        System.out.println(arr[1].length);

        //7.8  二维数组遍历
        for (int i = 0; i <arr.length ; i++) {
            for (int j = 0; j <arr[i].length ; j++) {
                System.out.print(arr[i][j]);
            }
        }

    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值