Browse Source

2025年11月22日-Java基础语法

WanJL 2 weeks ago
parent
commit
b06566aeda

BIN
javase/out/production/javase/sf/First.class


+ 2 - 2
javase/src/sf/First.java → javase/src/sf/j251115/First.java

@@ -1,4 +1,4 @@
-package sf;
+package sf.j251115;
 
 public class First {
     //Java程序的主方法(主函数) ,在Java中的函数,我们称为方法
@@ -27,4 +27,4 @@ public class First {
 /*
     多行
     注释
- */
+ */

+ 1 - 1
javase/src/sf/Two.java → javase/src/sf/j251115/Two.java

@@ -1,4 +1,4 @@
-package sf;
+package sf.j251115;
 
 /**
  * @author WanJl

+ 140 - 0
javase/src/sf/j251122/Demo01.java

@@ -0,0 +1,140 @@
+package sf.j251122;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo01
+ * @description
+ * @create 2025/11/22
+ */
+public class Demo01 {
+    /*
+        变量定义的格式:
+            数据类型 变量名=数据值;
+            数据类型:为了在内存空间中存取数据方便,为数据增加类型限制。
+            变量名:为空间取名字,为了下次好找它。
+            数据值:空间里要存的数值,也就是数据。
+     */
+    /*
+    我们现在使用的计算机设备:
+        台式电脑、笔记本电脑、平板电脑、手机、智能手表、智能手环....
+        这些计算机设备全部同属于一个计算机架构体系
+        都是包含了五个组成部分
+            |-存储器:用来存储数据  ---- 计算机内存
+            |-控制器:用来控制操作
+            |-运算器:用来进行运算
+                运算器+控制器 合到一起称为一个计算机核心(CPU)
+            |-输入设备:读取数据。  ----- 键盘、鼠标、麦克风、摄像头
+            |-输出设备:写出数据。  ----- 显示器、音响......
+        这套架构体系,是有一位数学家提出的,他叫冯·诺伊曼,这套架构就叫【冯·诺伊曼架构】
+        计算机程序在运行的时候,是需要进入到存储器(内存)中才能执行的。程序结束后,就会从内存中删掉数据。
+        为了长时间保存数据(持久化、序列化),所以使用了外部存储设备进行存储。
+        我们一般采用的是 硬盘(固态硬盘、机械硬盘)、U盘、光盘、软盘....
+
+        计算机无论内存还是硬盘,计算机能够存储的【最小信息单元】叫"位(bit)",我们也叫它"比特位"。
+        一位其实就是1个二进制数位。  1001 1111
+        而计算机中最小的存储单元叫"字节(byte)",字节一般使用大写字母"B"表示。
+        连续的8个二进制位,组成1个字节。所以
+        1B=8bit
+        1KB=1024B
+        1MB=1024KB
+        1GB=1024MB
+        1TB=1024GB
+     */
+    /*
+        java中的数据类型
+        Java是一种【强类型】的语言
+            |-Java中的数据必须要明确数据类型
+            |-Java中一旦定义类数据类型,值必须要和类型匹配
+        Java中的数据类型包含两种:
+            |-基本数据类型
+            |-引用数据类型
+                |-java中除了8种基本数据类型之外,其他的所有类型都是引用数据类型
+        Java的基本数据类型可以分为4类8种
+            |-整数类型
+                |- byte 字节型-就是计算机8位二进制数组成的字节,占用1个字节,8位
+                    |-最大值:127
+                    |-最小值:-128
+                    |-表示范围:-128 ~ 127  -2^7 ~ 2^7-1 存256个数
+                |- short 短整型,占用2个字节,16位
+                    |-最大值:32767
+                    |-最小值:-32768
+                    |-表示范围:-32768 ~ 32767 -2^15 ~ 2^15-1    存65536个数
+                |- int 整型-其实是integer的缩写,占用4个字节,32位,是Java中所有整数的默认类型
+                    |-最大值:2147483647
+                    |-最小值:-2147483648
+                    |-表示范围:-2147483648 ~ 2147483647   -2^31 ~ 2^31-1    存4294967296个数
+                |- long 长整型,占用8个字节,64位
+                    因为long类型占用空间太大了,一般即使我们声明了long类型的变量,
+                    实际上分配的也是32位空间,如果需要64位,需要单独声明。
+                    |-最大值:9223372036854775807
+                    |-最小值:-9223372036854775808
+                    |-表示范围:-9223372036854775808 ~ 9223372036854775807 -2^63 ~ 2^63-1 存18446744073709551616个数
+            |-浮点类型(小数类型)
+                |-float 单精度浮点类型,占用4个字节,32位,float类型的变量值,需要添加f或F作为标识后缀。
+                    |-正数范围:1.401298E-45 ~ 3.402823E+38
+                    |-负数范围:-3.402823E+38 ~ -1.401298E-45
+                |-double 双精度浮点类型,占用8个字节,64位,Java中所有小数的默认类型
+                    |-正数范围:49000000E-324 ~ 1.797693E+308
+                    |-负数范围:-1.797693E+308 ~ -49000000E-324
+                E+38表示是乘以10的38次方,e-45表示乘以10负45次方
+            |-字符类型
+                |-char 字符类型,是character单词的缩写,表示位1个字符。占用2个字节,16位
+                    |-取值范围(字符):表示一个字符
+                    |-取值范围(数字):0~65535
+                    char类型的变量值,必须要使用单引号括起来
+            |-布尔类型
+                |-boolean 布尔类型 也叫逻辑类型,专门用来进行逻辑判断的。占用1个字节,8位
+                    |-取值范围:只有两个值 true表示为真,false表示为假
+
+            0000 0000 1011 1101
+            1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
+            二进制,从右往左,就是从低到高,最左边的位,就是最高位。
+            规定最高位是符号位,如果这个位的二进制数是0,则这个数就是正数,如果是1就是负数
+
+            01111111
+     */
+
+    //main方法,主方法,程序执行的入口,只有在main方法中的代码才会被执行。
+    // main方法的快捷输入方式  psvm+回车键
+    public static void main(String[] args) {
+        //定义变量的格式:
+        // 数据类型 变量名=变量值;
+//        byte byteValue=15;
+//        System.out.println(byteValue);
+//        short shortValue=66;
+//        System.out.println(shortValue);
+//        int intValue=123;
+//        System.out.println(intValue);
+//        long longValue=123456;
+//        System.out.println(longValue);
+//        float floatValue=3.141564f;
+//        System.out.println(floatValue);
+//        double doubleValue=3.165456465478;
+//        System.out.println(doubleValue);
+//        char charValue='a';
+//        System.out.println(charValue);
+//        boolean booleanValue=true;
+//        System.out.println(booleanValue);
+
+        int i=2147483647;
+        long l=2147483647;  //java为long类型默认分配的空间是32位的。
+        //如果需要64位的空间,则必须要加以说明。就是在变量值的最后添加一个后缀,可以是l,也可以是L
+        long l1=9223372036854775807l;
+
+        //定义变量的时候,要先声明变量,再进行赋值
+//        int a;
+//        a=10;
+//        int b=10;
+        //如果要定义同一类型的多个变量,可以中间使用逗号分隔
+        //int a=10,b=20,c=30,d=6;
+        /*
+            定义变量的注意事项:
+                1、在同一对花括号里面,变量名不能重复。
+                2、变量在使用之前,必须要初始化(赋值)
+                3、定义long类型变量的时候,需要在整数后面加l或L,因为整数默认的类型是int类型
+                4、定义float类型变量的时候,需要在小数后面加f或F。
+         */
+
+    }
+}

+ 42 - 0
javase/src/sf/j251122/Demo02_Scanner.java

@@ -0,0 +1,42 @@
+package sf.j251122;
+
+import java.util.Scanner;
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo02_Scanner
+ * @description 键盘输入
+ * @create 2025/11/22
+ */
+public class Demo02_Scanner {
+    /*
+        java的键盘输入
+        在Java中,可以使用Scanner类来获取用户的输入。
+        步骤:
+            1、导包,就是引入一个外部的包(package),这样就可以使用外部包中的类的。
+            Scanner类是在 java.util包下,所以就需要引入这个包。导包需要定义在类的上面 包声明的下面
+            使用的是import关键字
+            import java.util.Scanner;
+            2、创建Scanner对象,sc表示变量名,其他的都不可以改变。
+                Scanner sc=new Scanner(System.in);
+            3、接收数据
+                接收整数: int i=sc.nextInt();
+     */
+    public static void main(String[] args) {
+        //创建对象
+        Scanner sc=new Scanner(System.in);
+        //接收数据--接收整数
+        int i=sc.nextInt();
+        //输出数据
+        System.out.println(i);
+        //接收数据-接收小数
+        double d=sc.nextDouble();
+        System.out.println(d);
+        //接收数据-接收字符串,接收的字符串,以空格键和回车键作为结束符
+        String s=sc.next();
+        System.out.println(s);
+        //接收数据-接收一行字符串。接收的字符串以回车键作为结束符
+        String s1=sc.nextLine();
+        System.out.println(s1);
+    }
+}

+ 53 - 0
javase/src/sf/j251122/Demo03.java

@@ -0,0 +1,53 @@
+package sf.j251122;
+//导包
+import java.util.Scanner;
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo03
+ * @description
+ * @create 2025/11/22
+ */
+public class Demo03 {
+    public static void main(String[] args) {
+        /*
+            使用键盘输入姓名、年龄等信息,最终组合成一句话。
+         */
+        //创建对象
+        Scanner sc=new Scanner(System.in);
+        //接收数据
+        System.out.println("请输入姓名:");
+        String name=sc.nextLine();//接收姓名-sc.nextLine();
+        System.out.println("请输入性别:");
+        String sex=sc.nextLine();
+        System.out.println("请输入学校:");
+        String school=sc.nextLine();
+        System.out.println("请输入班级:");
+        String classes=sc.nextLine();
+        System.out.println("请输入年龄:");
+        int age=sc.nextInt();//接收年龄-sc.nextInt();
+        /*
+            您叫name,今年age岁,性别sex,就读于school学校,classes班
+         */
+        System.out.println("您叫"+name+",今年"+age+"岁,性别"+sex+",就读于"+school+"学校,"+classes+"班");
+        /*
+            项目名、包名、类名、变量名、方法名...统称为标识符。
+            java的标识符是有命名规范的。
+                1、只能由字母(a~z,A~Z)、数字(0~9)、美元符号($)、下划线(_)组成
+                2、不能使用数字开头
+                3、不能使用Java的关键字和保留字进行命名
+                4、Java的标识符对大小写敏感,严格区分大小写。
+            Java中针对命名的一些约定:
+                2种:
+                    小驼峰命名:第一个单词全小写,第二个以后首字母大写
+                        intValue
+                        myAge
+                        一般用在变量名、方法名、包名
+                    大驼峰命名:每个单词的首字母都大写
+                        UserInfo
+                        StudentName
+                        一般用在类名
+                标识符在命名的时候最好做的【见名知意】
+         */
+    }
+}