Java基础语法

1.注释

示例代码
// 单行注释

/*
    多行注释
*/

/**
    文档注释
*/

/*
    通过class关键字定义了一个类, 类名称叫做HelloWorld
    public起到限制作用, 限制类名称和文件名必须保持一致.
*/
public class HelloWorld {
    // main(主方法), 是程序执行的入口
    public static void main(String[] args){
        System.out.println(123);
        System.out.println("HelloWorld");                // 输出语句, 打印()中包裹的内容
    }
}        

注意 : 被注释的内容, 不会参与程序的编译和运行.运行发现没打印HelloWorld

2.关键字和字面量

2.1 关键字-------被Java赋予了特殊含义的英文单词,以下都是Java中的关键字

image

注意:关键字已经被 Java 赋予了特殊的含义,我们无法使用 (不能当作类名,变量名,方法名...)

2.2 字面量

image

示例代码
public class ConstantDemo {
    /*
        字面量: 生活中的数据, 在程序中的书写格式

        需求: 请将自己的个人信息展示在控制台
                姓名(字符串), 年龄(整数), 性别(字符), 身高(小数), 婚姻状况(布尔)
     */
    public static void main(String[] args) {
        System.out.println("Tom");
        System.out.println(23);
        System.out.println(170);
        System.out.println('男');
        System.out.println(false);

        // System.out.println(null);  null不允许直接打印      
    }
}

3. 变量的介绍和定义

变量就是内存中的一块区域,可以理解成一个盒子,用来装程序要处理的数据的
定义格式:数据类型 变量名 = 数据值

image

举例:

int num = 10;

变量的使用:根据变量名使用

int age = 18;

System.out.println(age);             // 打印
age = 20;                            // 修改
System.out.println(age + 10);        // 计算

4. 变量的注意事项

  1. 变量要先声明才能使用
public class VariableTest {
    public static void main(String[] args){
        int age = 18;
        System.out.println(age);        // 正确
        System.out.println(name);       // 错误, 没有这个变量
    }
}
  1. 变量是什么类型,就必须装什么类型的数据
public class VariableTest {
    public static void main(String[] args){
        int age = 18;                   // 正确, int类型存储整数Ok
        int num = 12.3;                 // 错误, int类型无法存储小数
    }
}
  1. 变量只在自己所归属的 { } 范围内有效
public class VariableTest {
    public static void main(String[] args){
        int age = 18;        
        System.out.println(age);        // 正确, 在范围中
        {
            int a = 10;
            System.out.println(a);      // 正确, 在范围中
        }
        System.out.println(a);          // 错误, 访问不到a变量
        System.out.println(age);        // 正确, 在范围中
    }
}
  1. 同一个范围内,变量的名称不能一样
public class VariableTest {
    public static void main(String[] args){
        int age = 18;                   // 正确定义变量
        {
            int a = 10;                 // 正确定义变量
        }
        {
            int a = 10;                 // 正确定义变量
        }
        int age = 20;                   // 错误!!!  main方法中已经有age变量了
    }
}
  1. 变量定义的时候可以不赋初始值,但在使用时,变量里必须有值
public class VariableTest {
    public static void main(String[] args){
        int age;                        // 不会报错, 因为并没有使用
    }
}
public class VariableTest {
    public static void main(String[] args){
        int age;                        // 不会报错, 因为并没有使用
        System.out.println(age);        // 编译错误, 变量中没有数据
    }
}
public class VariableTest {
    public static void main(String[] args){
        int age;                        // 不会报错, 因为并没有使用
        age = 10;
        System.out.println(age);        // 不会报错, 因为age里面已经有数据了
    }
}
  1. 一条语句可以定义多个同类型变量,中间使用逗号分隔
public class VariableTest {
    public static void main(String[] args){
        int a = 10, b = 20, c = 30;
    }
}

5. 标识符

介绍:就是给类,方法,变量等起名字的符号 (自己起的名字)

  1. 标识符的命名规则

由数字、字母、下划线(_)和美元符($)组成

不能以数字开头

不能是关键字

区分大小写

  1. 标识符的命名规范

见名知义,驼峰命名

6. 数据类型

Java 中的数据类型大体分为两种

  1. 基本数据类型

  2. 引用数据类型

我们今天重点聊基本数据类型,要能够使用不同的数据类型,定义出不同类型的变量

使用思路:

  1. 整数类型变量:首选 int,如果发现 int 装不下数据了,将类型换成 long,但是定义 long 类型变量,需要加入 L 标识

  2. 小数类型变量:首选 double,如果非要使用 float 类型,需要在数值后面加入 F 标识

long tel = 15612341234L;
float height = 180.1F;

7. 算数运算符

生活中的数据需要进行运算,代码中的数据同样如此,我们先来学习算数运算符

System.out.println(5 / 2);        // 结果为2
System.out.println(5 / 2.0);      // 结果为2.5
System.out.println(5.0 / 2);      // 结果为2.5

System.out.println(5 % 2);        // 结果为1
System.out.println(4 % 2);        // 结果为0

package com.itheima.test;

public class OperatorTest1 {
    public static void main(String[] args) {
        int num = 456;

        int ge = num % 10;
        int shi = num / 10 % 10;
        // 最高位可以简化计算
        int bai = num / 100;

        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}

9. 字符串拼接操作

当 + 操作中,遇到了字符串,这时 + 就是字符串连接符,而不是算术运算。

改造刚刚的案例

package com.itheima.test;

public class OperatorTest1 {
    public static void main(String[] args) {
        int num = 456;

        int ge = num % 10;
        int shi = num / 10 % 10;
        int bai = num / 100;

        System.out.println("整数" + num + "的个位为: " + ge);
        System.out.println("整数" + num + "的十位为: " + shi);
        System.out.println("整数" + num + "的百位为: " + bai);
    }
}

10. 自增自减运算符

使用细节:

1. 单独使用: 符号在前在后没有区别的

2. 参与运算使用

++在前: 先自增再操作

++在后: 先操作再自增

详细请点击:a++和++a在简单运算中的使用

11. 类型转换

类型转换分为两种,隐式转换和强制转换

  1. 隐式转换

简单记:小的给大的赋值可以直接赋值

数据从 10 变化为了 10.0 数据发生了转换,转换的过程是内部隐藏的,所以称为隐式转换

运算过程中发生的隐式转换

char 转换为 int 的方式是查找编码表中的数字

例如 : 'a' 对应的是 97

int result = 'a' + 1;

System.out.println(result); 结果为98

  1. 强制转换

简单记 : 大的给小的赋值,不能直接赋值,需要强制类型转换

强转过程中有可能出现精度损失问题,使用的时候需要注意。

12. 赋值运算符

  1. 基本赋值运算符

  1. 扩展赋值运算符

int a = 10;
a += 20;
System.out.println(a);        // 30

注意 : 扩展赋值运算符自带强转效果

int a = 10;

double b = 12.3;

a += b;

System.out.println(a);

输出结果为22,因为相加之和的22.3赋值给 a ,a 变量为 int 类型,强转后砍掉小数点,结果为22

  1. 关系运算符

小名:比较运算符,让数据之间做比较的符号,返回 true 或者 false

package com.itheima.operator;

public class OperatorDemo4 {
    /*
        关系运算符

            >
            >=
            <
            <=
            ==
            !=

     */
    public static void main(String[] args) {
        System.out.println(10 > 20);            // false
        System.out.println(10 >= 20);           // false
        System.out.println(10 < 20);            // true
        System.out.println(10 <= 20);           // true
        System.out.println(10 == 20);           // false
        System.out.println(10 != 20);           // true
    }
}

14. 逻辑运算符

  1. 普通的逻辑运算符

介绍 : 把多个条件放在一起运算,最终返回布尔类型的值:true、false

需求 : 在程序中,判断一个学生成绩是否在 90~100 之间,是的话程序输出优秀.

package com.itheima.operator;

public class OperatorDemo5 {
    /*
        逻辑运算符: 把多个条件放在一起运算, 最终返回true或者是false

        分类:
            &(与): 遇false则false
            |(或): 遇true则true
            !(非): 取反
            ^(异或): 相同为false, 不同为true
     */
    public static void main(String[] args) {
        System.out.println(true & false);        // false
        System.out.println(false & true);        // false
        System.out.println(false & false);       // false
        System.out.println(true & true);         // true
        System.out.println("---------------------");
        System.out.println(true | false);        // true
        System.out.println(false | true);        // true
        System.out.println(false | false);       // false
        System.out.println(true | true);         // true
        System.out.println("---------------------");
        System.out.println(!false);              // true
        System.out.println(!true);               // false
        System.out.println("---------------------");
        System.out.println(true ^ false);        // true
        System.out.println(false ^ true);        // true
        System.out.println(false ^ false);       // false
        System.out.println(true ^ true);         // false
    }
}
  1. 带有短路效果的逻辑运算符

public class OperatorDemo6 {
 
    public static void main(String[] args) {
        int x = 3;
        int y = 4;

                        // false & false
        boolean result = ++x > 5 && y-- < 4;

        System.out.println(result);     // false

        System.out.println(x);          // 4
        System.out.println(y);          // 4
        
        // 因为使用的是 && 符号, 具有短路效果, 左边为false的时候右边不执行, 所以 y 没有执行 -- 
    }
}

15. 三元运算符

作用 : 根据判断条件, 从两份数据中二者选其一

package com.itheima.operator;

public class OperatorDemo7 {
    /*
        格式:判断条件 ? 值1 : 值2;
        
        执行流程:
          首先计算 判断条件的值
          如果值为true, 值1 就是运算结果
          如果值为false, 值2 就是运算结果

        需求: 从两个变量中找出最大值
     */
    public static void main(String[] args) {
        int a = 50;
        int b = 20;

        int max = a > b ? a : b;

        System.out.println("最大值为:" + max);
    }
}

案例 : 从三个整数中找出最大值

package com.itheima.test;

public class OperatorTest3 {
    /*
        需求: 从三个整数中找出最大值
     */
    public static void main(String[] args) {
        int a = 20;
        int b = 50;
        int c = 10;

        // 1. 找出前两个整数的最大值
        int tempMax = a > b ? a : b;
        // 2. 找出三个整数的最大值
        int max = tempMax > c ? tempMax : c;

        System.out.println("最大值为:" + max);
    }
}
  1. 运算符优先级

熟练运用好小括号的使用即可

public class Test {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println( (a > b || a < b) && a > b);
    }
 }
 
 public class Test {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(a > b || (a < b && a > b) );
    }
 }

总结:

1.熟能生巧,光看是没用的,要多上手去敲
2.打牢基础,稳步向前

posted @ 2026-03-17 20:10  Kight-Tom  阅读(4)  评论(0)    收藏  举报