Java程序的基本规则

  • Java的类文件是Java程序的最小单位,一个Java项目包含若干个类文件
  • Java类的文件名和类名要保持一致,类首字母大写,使用驼峰命名法,命名方法为 Hello World,扩展名为java
  • main方法是Java程序运行的入口(开始),main方法的名称、参数、前面的修饰符都是固定的
    (public static void main(String[] args){ })
  • 每条(行)语句都是以分号结束
  • 方法名、变量名、属性名都是以小写字母开头,后面的首字母大写,也是使用驼峰命名方法,目的是与类区分开

Java的组成成分

分隔符号

  • ; 分号 语句结束的标志
  • { } 大括号 都是成对出现,用在类、方法、判断和循环语句中,把多条语句作为一个整体(代码块)
  • ( ) 小括号 方法的定义和调用,以及运算表达式的优先级
  • [ ] 中括号 用于数组,通常在数组名之后出现
  • . 圆点 用于对象的属性或方法的调用
  • “ ” 双引号 用于字符串 直接输出内容(字符串)
  • ‘ ’ 单引号 用于字符 直接输出内容(单个字符)
  • 空格 用于分隔标识符和关键字

标识符

类、方法、属性、变量的名称

命名规则:

  1. 必须以字母、下划线(_)、美元符号($)开头
  2. 除首字母之外可以用字母、数字、下滑线、美元符号
  3. 不能跟关键字重名
  4. 区分大小写
  5. 不建议使用中文

关键字

Java中表示特定意义的单词(Java的关键字都是小写的),Java中有以下关键字:

  • 48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
  • 访问修饰符的关键字(共3个)

java 文件结构标示 java文件以什么为后缀名_赋值

  • 定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)
  • java 文件结构标示 java文件以什么为后缀名_System_02

  • 包的关键字(共2个)

java 文件结构标示 java文件以什么为后缀名_java 文件结构标示_03

  • 数据类型的关键字(共12个)

java 文件结构标示 java文件以什么为后缀名_java 文件结构标示_04

  • 条件循环(流程控制)(共12个)

java 文件结构标示 java文件以什么为后缀名_赋值_05

  • 修饰方法、类、属性和变量(共9个)

java 文件结构标示 java文件以什么为后缀名_赋值_06

  • 错误处理(共5个)
  • 其他(共2个)

java 文件结构标示 java文件以什么为后缀名_java 文件结构标示_07

  • 2个保留字(Java语言的的保留字是指预留的关键字):goto、const
  • const 释义:n. 常量,常数
    用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改
  • goto 释义:vi. 转到
    指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
  • 3个特殊直接量:true、false、null

注释

注释是代码中用于帮助程序员理解或者记忆代码的内容;暂时不用的代码也可以注释掉。

注意:注释的内容会被编译器忽略

  • // 单行注释
    快捷键:Ctrl + / 注释和取消相同
  • /*

    */ 多行注释 中间…为注释内容
    快捷键:Ctrl + Shift + / 注释和取消相同
  • /**

    */ 文档注释 中间…为注释内容
    快捷方式:/**回车
    用于类、方法上的注释,能导出为API文档

JDK API 相关知识

API:应用程序的接口

JDK API 文档地址:

官方英文:https://docs.oracle.com/javase/8/docs/api/

中文:

IDEA导出文档注释为AP文档

  1. 创建一个目录存放API文档。比如:桌面上创建一个myapi目录
  2. 点击tools->generate JavaDoc.…

java 文件结构标示 java文件以什么为后缀名_赋值_08

  1. 设置

java 文件结构标示 java文件以什么为后缀名_赋值_09

  1. 点击ok,导出文档

变量

方便访问内存中的数据起的一个程序员容易记忆和理解的名字(代替计算机内存中的地址)

定义变量

语法: 类型 变量名;

类型 变量名 = 初始化的值

类型 变量名, 变量名

String stuName = "张三"; //=是赋值的意思,  把张三字符串赋给stuName这个变量
int stuAge = 22;
int i; //定义变量,不赋值(没有初始化)
int m, n;//一次定义多个变量,用逗号分割,多个变量必须是相同类型
int a = 3, b = 2; //一次定义多个变量,也可以在定义的同时赋值

变量初始化

可以在定义变量的时候初始化,也可以先定义在初始化

public class hello {
    public static void main(String[] args) {
		String stuName = "张三";
        String stuSex = "男";
        int stuAge = 21;
        int a = 12;
        int b;
        b = 15;
        System.out.println(stuName);
        System.out.println(stuAge);
        System.out.println(stuSex);
        System.out.println(a);
        System.out.println(a+b);
    }
}

变量的赋值和使用

System.out.println("学生的姓名:" + stuName); //+字符串的拼接
System.out.println("学生的年龄:" + stuAge);  //字符串和数字相加,也是拼接
System.out.println(i + j); //两个数字相加, 是加法运算

int k;
k = i; //给变量赋值可以用另外一个变量
k = 3 + 2; //变量赋值还可以用表达式
k = i - j;  //变量赋值可以变量参与的表达式
System.out.println(k); //-2,  int类型叫整形, 包括正整数,0, 负整数

注意

  • 在同一个作用域不能重复定义变量
  • 变量在使用前必须初始化(赋值)

练习:判断以下变量命名是否合法

int 123;   //错误,变量不能用数字开头
int _123;  //正确,一下划线开头
int $123;  //正确,$开头
int _$;    //正确,不推荐,无意义
int $;     //正确,不推荐,无意义
int abc_134;  //正确
int a$1;     //正确
int _#$%;   //错误,变量不能包含除_、$之外的特殊符号
int 华清远见; //正确,语法没有问题,但是不推荐
int StuName; //正确,但不符合命名规范,应改为  int stuName;
int stuname; //正确,但不符合命名规范,应改为  int stuName;

Java的基本数据类型

java 文件结构标示 java文件以什么为后缀名_Java_10

:一个字节长度占8位

整形

  • byte 字节型
  • 占一个字节长度,取值范围 -27 ~ 27-1 (-128~127)
public class DataType {
    public static void main(String[] args) {
       // byte类型的使用
        byte b1=10;
        System.out.println(b1);
       // byte b2=-129;//超过范围,报编泽异常
       // byte b3=128;//超过范用,报编译异常
        System.out.println(b1);
    }
}
  • short 短整型
  • 占两个字节长度,取值范围 -215 ~ 215-1 (-32768~32767)
// byte类型的使用
short b1=-1000;
// short=-32769;//超过范围,报编泽异常
// short b3=32768;//超过范用,报编译异常
System.out.println(b1);
  • int 整形
  • 占四个字节长度,取值范围 -231 ~ 231-1 (-2147483648~2147483647)
  • int的十进制数只有10位长度,不能存放手机号码
// int类型的使用
int a1=4000;
// int a2=-2147483649;//超过范围,报编泽异常
// int a3=2147483648;//超过范用,报编译异常
System.out.println(a1);
  • long 长整型
  • 占八个字节,取值范围 -263 ~ 263-1 19位的十进制
// long类型的使用
long l1=4000;
System.out.println(l1);
long l2=-1598754655455555577l;
//给long赋值的时候如果超过int的取值范围必须在最后加l,没超过的话可加可不加
// long l3=2147483648;//超过范用,报编译异常
System.out.println(l2);
//当前时间的时间戳(相对于1970.1.10时过去了多少毫秒)
System.out.println(System.currentTimeMiZllis());

注意:给整数赋值可以用十进制、八进制、十六进制

//java里可以用十进制、八进制、十六进制给整数赋值
int f = 100;   //十进制
System.out.println(f);
f = 0144;      //八进制,以0开头为八进制
System.out.println(f);
f = 0x64;     //十六进制,以0x开头为十六进制
System.out.println(f);

浮点型(小数型)

  • float
  • 占四个字节 8位表示指数,23位表示底数位数 取值范围 10-38 ~ 1038 和 -1038 ~ -10-38
//float类型的使用
float f1 = 3.1415F; //Java里直接写一个小数,默认为 float类型
System.out.println(f1);
float f2 = 3.1F;
System.out.println(f1*f2);
  • double
  • 占八个字节 取值范围 10-308 ~ 10308 和 -10308 ~ -10-308

注意:Java里浮点数运算可能会损失精度(结果不精确),在实际项目中如果用到小数的运算(比如财务系统),建议使用BigDecimal

字符型

  • char
  • 字符用16位的unicode编码,可以表示各国语言文字
  • 字符的标识方式
  • 用单引号括起来
  • 用unicode编码,格式 ‘\uxxxx’ ,中文汉字在unicode中的范围4E00~9FA5
  • 用数字来标识字符
char a = 97; //常见的英文字符都对应一个数字编码,所以可以用数字给char类型赋值
    System.out.println(a);
  • 用转义符表示特殊字符

\"

双引号

\’

单引号

\n

换行

\r

回车

| \t | 制表符 |
| \\ | 反斜杠 |

//字符的使用
        char c1='a';
        System.out.println(c1);
        char c2 = '家';
        System.out.println(c2);
        char c3 = '\u4E01';
        System.out.println(c3);
        System.out.println("他说:\"你好\"。");
        System.out.println("\"。");//双引号
        System.out.println("\'");//单引号
        System.out.println("\n");//换行
        System.out.println("\r");//回车
        System.out.println("\t");//制表符,补齐四个空格
    System.out.println("\\");//反斜杠
  • ascii码表规定每个字符对应的数字:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KthKoiou-1659345962034)(E:\Desktop\JavaEE笔记\02java基础第二天.assets\QQ图片20220721170419.jpg)]

布尔型

  • boolen
  • 占1位长度,只有两种值:true和fals,不能用数字给boolean类型赋值
  • 一般用于判断或循环语句判断条件
//boolean类型的使用
 boolean b2 = true;
 boolean b3 = false;
 System.out.println(b2);
 System.out.println(b3);

基本类型相互转换

自动转换

java 文件结构标示 java文件以什么为后缀名_赋值_11

  • char不能自动转为short
  • byte不能自动转为char
  • 任何的基本类型都可以跟字符串进行拼接
//自动类型转换
        byte by1 =10;
        short s1 = by1;
        int i1 = s1;
        System.out.println(s1);
        char c1 = 'a';
        i1 = c1;
        System.out.println(i1);
        long l1 = i1;
        System.out.println(l1);
        float f1 = l1;
        System.out.println(f1);
        double d1 = f1;
        System.out.println(d1);

强制转换

  • 长度大的数据类型转小的类型不能自动转换,要用强制转换
  • 小数转整数,会去掉小数
  • 如果强转超过类型所能表示的范围,可能会出现不可预知的结果
//强制类型转换
        double a = 3.14;
        float b = (float) a;
        System.out.println(b);
        long l2 = (long)b;
        System.out.println(l2);
        int i2 = (int)l2;
        System.out.println(i2);
        char c2 = (char)i2;
        System.out.println(c2);
        short s2 = (short) c2;
        System.out.println(s2);
        byte b3 = (byte) s2;
        System.out.println(b3);

        int i3=169;
        //超过目标类型范围的强制类型转换要谨慎,可能出现不可预料的结果
        byte b4 =(byte) i3;
        System.out.println(b4);//结果是-87
System.out.println(l2);
    int i2 = (int)l2;
    System.out.println(i2);
    char c2 = (char)i2;
    System.out.println(c2);
    short s2 = (short) c2;
    System.out.println(s2);
    byte b3 = (byte) s2;
    System.out.println(b3);

    int i3=169;
    //超过目标类型范围的强制类型转换要谨慎,可能出现不可预料的结果
    byte b4 =(byte) i3;
    System.out.println(b4);//结果是-87