Java基础学习笔记-1

前言

Java 是一门强大而广泛应用的编程语言,它的灵活性和跨平台特性使其成为许多开发者的首选。无论您是刚刚入门编程,还是已经有一些编程经验,掌握 Java 的基础知识都是构建更复杂程序的关键。

本学习笔记旨在帮助您深入了解 Java 编程语言的基础概念。我们将从变量和数据类型开始,逐步探索命名规则、运算符、用户输入和数据类型转换等主题。通过这些内容的学习,您将建立坚实的 Java 基础,为进一步的学习和应用打下坚实的基础。

1. 变量和数据类型

Demo01 - 变量的声明和使用

public class Demo01 {
    
    
    public static void main(String[] args) {
    
    
        // 变量
        int age = 18;
        System.out.println("年龄:" + age); // shift+alt+上下箭头,上移下移代码行
        age = 20;
        System.out.println("年龄:" + age); // ctrl+d复制行
    }
}

这个示例演示了如何声明和使用变量,并且展示了变量值的修改。

Demo02 - 常用数据类型

public class Demo02 {
    
    
    public static void main(String[] args) {
    
    
        // 常用数据类型
        int i = 10000; // 整数
        double d = 3.14; // 小数
        char c = '中'; // 字符
        String s = "中国"; // 字符串
        System.out.println("整数:" + i + ",小数:" + d + ",字符:" + c + ",字符串:" + s);

    }
}

在这个示例中,我们介绍了Java中常用的数据类型,包括整数、小数、字符和字符串。

Demo03 - 变量的声明、赋值和使用

public class Demo03 {
    
    
    public static void main(String[] args) {
    
    
        // 1. 声明
        int age;
        // 2. 赋值(java是在c++语言基础上改进过来的,要求变量在使用前必须先行赋值)
        age = 1;
        // 3. 使用
        System.out.println(age);
    }
}

这段代码展示了变量的声明、赋值和使用的基本步骤。

Demo04 - 常量的命名规则

public class Demo04 {
    
    
    public static void main(String[] args) {
    
    
        // 常量的命名法则,全部大写,如果有多个单词,用_隔开 比如MAX_VALUE
        final int AGE = 18;
        System.out.println(AGE);
        final String CHINA = "中华人民共和国";
        System.out.println(CHINA);
    }
}

这个示例说明了常量的命名规则,通常使用全大写字母,多个单词之间用下划线分隔。

2. 命名规则和约定

Demo05 - 标识符命名规则

public class Demo05 {
    
    
    public static void main(String[] args) {
    
    
        /*
        首字母必须是:字符 $ _
        后续必须是:字符 $ _ 数字
        注意,不能是关键字
         */
        int a = 1;
    }
}

这段代码讲解了Java中标识符的命名规则,包括首字母要是字符、 或 , 后续可以是字符、 或_,后续可以是字符、 后续可以是字符、、_或数字。

Demo06 - 命名规范

// 类名 大驼峰法命名
public class Demo06 {
    
    
    public static void main(String[] args) {
    
    
        // 变量名 小驼峰法命名
        int myAge = 18;
        int age = 18;
        // 循环因子 i j k
        // 尽量使用有意义的单词(循环因子除外),实在单词没有合这的就採用拼音
    }
}

这个示例介绍了类名、变量名和循环因子的命名规范,推荐使用有意义的单词命名。

3. 运算符和表达式

Demo07 - 赋值运算符

public class Demo07 {
    
    
    public static void main(String[] args) {
    
    
        // 赋值运算符
        int age = 18; // =
        age += 2; // += 等价于 age = age + 2;
        age++; // += 等价于 age = age + 1; 间化為 age++
        /*
        += ++
        -= --
        *=
        /=
        %=  取模 特别留意,除不乾净,余下来的那个数
         */
        int year = 2022;
        int result = year % 10; // 余数
        System.out.println("餘数:" + result);
        year %= 100; // year = year % 100;
        System.out.println("餘数:" + year);
    }
}

这段代码展示了赋值运算符(+=、++、%=)的使用,以及取模运算符的示例。

4. 用户输入

Demo08 - 使用Scanner获取用户输入

import java.util.Scanner;

public class Demo08 {
    
    
    public static void main(String[] args) {
    
    
        // 键盘输入功能 Scanner
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名:"); // 先提示,别人才好输入
        String name = scanner.next(); // 卡住,等待你输入姓名
        System.out.println("你输入的姓名是:" + name);
    }
}

这个示例演示了如何使用Scanner类从键盘获取用户输入。

Demo09 - 读取整数和小数

import java.util.Scanner;

public class Demo09 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数:");
        int age = scanner.nextInt();
        System.out.println("请输入小数:");
        double money = scanner.nextDouble();
        System.out.println("整数:" + age + ",小数:" + money);
    }
}

这段代码演示了如何使用Scanner读取整数和小数,并将它们打印出来。

Demo10 - 计算和平均值

import java.util.Scanner;

public class Demo10 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入王浩的3门功课的成绩:");
        System.out.println("Java:");
        int java = scanner.nextInt();
        System.out.println("PS:");
        int ps = scanner.nextInt();
        System.out.println("SQL:");
        int sql = scanner.nextInt();
        int chazhi = java - sql;
        System.out.println("方法1,Java和SQL的差:" + chazhi);
        System.out.println("方法2,Java和SQL的差:" + (java - sql)); // 一定要加小括号,调整一下优先级
        int pingjunzhi = (java + ps + sql) / 3;
        System.out.println("方法1,平均值:" + pingjunzhi);
        System.out.println("方法2,平均值:" + (java + ps + sql) / 3);
    }
}

这个示例读取三门课程的成绩,计算它们的差值和平均值,并展示了不同的计算方法。

5. 数值计算

Demo11 - 数值计算

public class Demo11 {
    
    
    public static void main(String[] args) {
    
    
        double java1 = 81.29;
        int duoliao = 2;
        double java2 = java1 + duoliao;
        System.out.println("第二次的平均分:" + java2);
    }
}

这个示例演示了数值计算,包括将一个双精度浮点数和一个整数相加,并将结果打印出来。

6. 数据类型和类型转换和关系运算符

Demo12 - 数据类型详解

public class Demo12 {
    
    
    public static void main(String[] args) {
    
    
        // 八个基本数据类型
        /* 整数
              1个字节 byte     -128 -> +127
              2个字节 short    -32768 -> +32767
              *4个字节 int      -21亿 -> +21亿 大约
              8个字节 long     -21....亿 -> +21....亿
         */
        byte b1 = Byte.MAX_VALUE;
        System.out.println(b1);
        short s1 = Short.MAX_VALUE;
        System.out.println(s1);
        int i1 = Integer.MAX_VALUE;
        System.out.println(i1);
        long l1 = Long.MAX_VALUE;
        System.out.println(l1);
        /* 小数,本质是一个近似值
              4个字节 float -3.4028235E38 -> 3.4028235E38 大约3后面有38个零
              *8个字节 double -1.7976931348623157E308 -> 1.7976931348623157E308 大约1后面有308个零
         */
        float f = Float.MAX_VALUE;
        System.out.println(f);
        double d = Double.MAX_VALUE;
        System.out.println(d);
        /* 字符
              2个字节 char 0-65535 唯一没有负数概念的
         */
        char c1 = Character.MIN_VALUE;
        char c2 = Character.MAX_VALUE;
        System.out.println((int)c1);
        System.out.println((int)c2);
        /* 布尔
              1个字节 boolean 不是数值概念,而是一个真假 0000 000-
         */
        boolean bool1 = Boolean.FALSE;
        boolean bool2 = Boolean.TRUE;
        System.out.println(bool1);
        System.out.println(bool2);
    }
}

这个示例详细解释了Java中的不同数据类型,包括整数、小数、字符和布尔类型。以下是其中一些重要概念的总结:

  • 整数类型包括byteshortintlong,它们的取值范围不同。
  • 小数类型包括floatdouble,它们是近似值,有不同的精度和取值范围。
  • 字符类型char表示字符,占用2个字节,并且没有负数概念。
  • 布尔类型boolean表示真假值,占用1个字节。

这个示例有助于理解不同数据类型在Java中的特点和用途。

Demo13 - 强制类型转换

public class Demo13 {
    
    
    public static void main(String[] args) {
    
    
        char c1 = '中';
        int i = 1;
        // 强转语法:(目标类型)表达式
        char c2 = (char)(c1 + i);
    }
}

这段代码演示了强制类型转换的概念。在这里,我们将一个字符c1与一个整数i相加,然后将结果强制转换为字符类型char。这是因为字符之间的运算会被自动提升为整数,所以需要强制转换回字符类型。

Demo14 - 关系运算符

public class Demo14 {
    
    
    public static void main(String[] args) {
    
    
        /*
        关系运算符:> >= < <= == !=
           经歷了运算之后,结果的数据类型是 布尔
         */
        int a = 10;
        int b = 10;
        boolean r1 = a > b;
        boolean r2 = a >= b;
        boolean r3 = a < b;
        boolean r4 = a <= b;
        boolean r5 = a == b;
        boolean r6 = a != b;
        System.out.println(r1); // false
        System.out.println(r2); // true
        System.out.println(r3); // false
        System.out.println(r4); // true
        System.out.println(r5); // true
        System.out.println(r6); // false
    }
}

这个示例介绍了关系运算符(>、>=、<、<=、==、!=)的使用。这些运算符用于比较两个值之间的关系,并返回布尔值表示结果。在示例中,我们演示了不同的关系运算并打印了它们的结果。

总结

在学习笔记的各个部分中,我们详细介绍了 Java 基础知识的各个方面。从变量的声明和使用到数据类型的深入了解,再到命名规则、运算符和用户输入的应用,您已经对 Java 编程语言的核心概念有了清晰的认识。

通过这些基础知识,您将能够开始编写简单的 Java 程序,并逐渐扩展您的技能,构建更复杂的应用程序。不管您是新手还是有一些经验的开发者,这些基础知识都是您在 Java 编程之路上不可或缺的一部分。

猜你喜欢

转载自blog.csdn.net/qq_42531954/article/details/132699343