02-基础语法

1. 注释

三种写法:

1、单行注释

2、多行注释

3、文档注释

复制代码
// 一行注释

// 下面是多行注释
/*
注释1
注释2
*/

// 文档注释
/**
一般 输入 /**  回车 就可以了 会自动补全
*/

2. 关键字

赋予了特定含义的英文单词,比如 class、const 等等

3. 字面量

字面量就是程序中能直接书写的数据。

字符必须单引号围起来,有且只能由一个字符。

字符串必须由双引号围起来。

特殊的书写格式:true、false、null

练习:请将自己的个人信息打印在控制台(姓名,年龄,性别,身高,婚姻状况)

新建一个空项目------新建一个 module (day01),然后创建一个类 Demo01

java 复制代码
public class Demo01 {
    public static void main(String[] args) {
        /**
         * 字面量的使用
         */
        System.out.println("牧天白衣");
        System.out.println(25);
        System.out.println("男");
        System.out.println(170);
        System.out.println(false);
    }
}

4. 变量

变量就是内存中的一块区域,可以理解成一个盒子,用来装程序要处理的数据的。

定义格式:数据类型 变量名 = 变量值;

int age = 18;

变量特点及好处:

1、变量里装的数据是可以被替换的。【也就是赋值操作】

2、使用变量记要处理的数据,编写的代码更灵活,管理代码更方便。

注意事项:

1、变量要先声明才能使用

2、变量是什么类型,就必须装什么类型的数据

3、变量只在自己所归属的 { } 范围内有效

4、同一个范围内,变量的名称不能一样

5、变量定义的时候可以不赋初始值,但在使用时,变量里必须有值

6、一条语句可以定义多个变量,中间使用逗号分隔

5. 标识符

标识符就是:给类,方法,变量等起名字的符号。

命名规则:

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

2、不能以数字开头

3、不能是关键字

4、区分大小写

命名规范:

小驼峰:goodStudent、firstName【变量、方法】

大驼峰:GoodStudent、FirstName【类名】

6. 数据类型

6.1. 基本数据类型

练习:请将自己的个人信息,使用变量保存,并展示在控制台

java 复制代码
public class Demo02 {
    public static void main(String[] args) {
        /**
         * 变量使用的练习
         */
        String name = "牧天白衣";
        int age = 25;
        char sex = '男';
        double height = 170;
        boolean isSingle = false;

        System.out.println("名字是: " + name);
        System.out.println("年龄是: " + age);
        System.out.println("性别是: " + sex);
        System.out.println("身高是: " + height);
        System.out.println("是否单身: " + isSingle);
    }
}

编码表是计算机中字节到字符的一套对应关系

ASCII 码表:美国信息交换标准代码------American Standard Code

for Information Interchange

6.2. 引用数据类型

在 Java 中,引用类型的变量非常类似于 C/C++ 的指针。

引用类型指向一个对象,指向对象的变量是引用变量。

【对象、数组都是引用数据类型。】

【所有引用类型的默认值都是null。】

这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。

6.3. 常量

常量在程序运行时是不能被修改的。

在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

final double PI = 3.1415;

虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

7. 运算符

7.1. 算数运算符

+、-、*、/、%【加、减、呈、除、取余】

练习:将数字 123 拆分出个位、十位、百位后,打印在控制台

java 复制代码
public class Demo03 {
    public static void main(String[] args) {
        /**
         * 将数字 123 拆分出个位、十位、百位后,打印在控制台
         */
        int number = 123;

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

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

7.2. 自增自减

++、--

++在前,表示先自增,再操作;在后,先操作,再自增

这俩只能操作变量,不能操作字面量

7.3. 赋值运算符

7.4. 关系运算符

7.5. 逻辑运算符

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

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

java 复制代码
public class Demo05 {
    public static void main(String[] args) {
        int score = 96;
        // true
        System.out.println(score >= 90 & score <= 100);
    }
}

7.5.1. 短路逻辑运算符

7.6. 三元运算符

格式: 判断条件 ? 值 1 : 值 2

执行流程:首先判断条件的值,如果为 true,值 1 就是运算结果,否则值 2 是

7.7. 运算符优先级

8. 字符串拼接

通过 +来连接的。如上面代码:

java 复制代码
String name = "ssss";
System.out.println("名字是: " + name);

9. 类型转换

9.1. 隐式转换

把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量

运算过程中的隐式转换:

取值范围小的数据,和取值范围大的数据进行运算,小的会先提升为大的之后,再进行运算

byte、short、char三种数据在运算的时候,都会提升为int,然后再进行运算

下面这个例子是将 'a'转换成对应的 ascii 码了,也就是 97

9.2. 显示转换-强制类型转换

把一个取值范围大的数值或者变量,赋值给另一个取值范围小的变量

不允许直接赋值,需要加入强制转换

目标数据类型 变量名 = (目标数据类型)被强转的数据;

java 复制代码
public class Demo04 {
    public static void main(String[] args) {
        double a = 12.3;
        int b = (int)a;
        System.out.println(b);  // 12
    }
}

可能会造成精度的丢失,比如上面,小数点就丢掉了

10. Scanner 键盘录入

使用Scanner接收用户键盘输入的数据,需要三个步骤,具体看代码:

java 复制代码
// 1、导包:告诉程序去 JDK 的哪个包中找 扫描技术
// 这个当你在main函数中,输入Scanner的时候 tab会自动导入
import java.util.Scanner;


public class Demo06 {
    public static void main(String[] args) {
        // 2、抄代码:代表得到键盘扫描器对象(东西)
        Scanner sc = new Scanner(System.in);  //

        System.out.println("请输入你的年龄: ");
        // 3、等待接受用户输入数据
        int age = sc.nextInt();
        System.out.println("年龄是: " + age);

    }
}
复制代码
sc.nextInt()  // 接收整数
sc.next()  // 字符串
sc.nextDouble()  // 接收浮点数
相关推荐
dawudayudaxue2 小时前
Eclipse安卓环境配置
android·java·eclipse
iPadiPhone2 小时前
性能优化的“双刃剑”:MySQL 查询缓存深度架构解析与面试复盘
java·后端·mysql·缓存·面试·性能优化
兆子龙2 小时前
ahooks useDebounce 与 useThrottle:防抖节流的最佳实践
java·javascript
毕设源码-郭学长2 小时前
【开题答辩全过程】以 环保公益网站为例,包含答辩的问题和答案
java
李白你好2 小时前
Java静态应用程序安全测试 (SAST) 工具
java
进击切图仔2 小时前
生成 .so 和使用 .so
java·javascript·算法
tant1an2 小时前
Spring Boot 进阶之路:热部署机制 + 配置高级特性详解
java·spring boot·后端
生命因何探索2 小时前
SpringBoot启动流程—面试热点
java·spring boot·面试
xiaoye37082 小时前
如何在Spring中使用注解解决线程并发问题?
java·后端·spring