Java基础知识点
文章目录
1、基础程序设置
1-1标识符、关键字
1-1.1标识符
标识符用来命名、常量、变量、类和类的对象;
标识符的构成规则如下:
- 标识符有数字 、字母、下划线还有$组成(中间没有空格)。
- 标识符的第一个字符是字母、下划线、$.不可以是数字,也不可以是任何Java的关键字。后面可以是任何字母、数字、下划线或是字母。
- 另外:由于Java区分大小写,所以标识符大小写也分为两种不同的标识符。
标识符分为关键字和用户自定义标识符;
关键字:
定义:关键字有专门的用途和意义,不可以当做一般表示符使用;
Java语言目前有51个关键字。如下:
类型 | |
---|---|
数据 类型: | boolean、int 、long 、short、byte、float、double、char、class、interface |
流程控制: | if、else、do while、for、switch、case、default、break、continue、return、catch、finally |
修饰符: | public、protected、private、final、void、static、strict、abstract、 |
动作 | package、import、throw、throws、extends、implement、this、supper、instanceof 、new |
保留字 | true、false、full、goto、const。 |
注意:为了程序的可读性,尽量避免使用关键字的其他形式来命名标识符。
1-2注释
1–2.1单行注释:
符号是:"//",只可以注释一行代码,注释信息少。如图所示;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciTA4K9k-1604052755490)(D:\新建文件夹\笔记\笔记\one day\测试tu\2020-10-30_111601.png)]
1-2.2多行注释:
符号是"/**/",可以注释多行代码。一般为了美观,第一行和最后一行不写代码。
如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2xpCbtdd-1604052755494)(D:\新建文件夹\笔记\笔记\one day\测试tu\2020-10-30_112112.png)]
1-2.3文档注释:
符号是"/** */",也可以注释很多行内容。文档注释只放在类、接口、成员变量、方法之前,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容。如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzwBmvvC-1604052755496)(D:\新建文件夹\笔记\笔记\one day\测试tu\2020-10-30_112606.png)]
1-3常量
常量:又被叫做字面常量,有数据类型直接表示。因此有多种类型请参考之后的数据类型。
\r | 回车 |
---|---|
\n | 换行 |
\b | 退格 |
\t | 横向跳格 |
常量定义:Java语言通过final关键字来声明
格式: final datatype varname = value;
例:
public class Helloword{
//静态常量
public static final double p1 = 3.1;
//声明成员变量
final int y =10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
1-4变量
Java语言是强类型语言,强类型有以下特点
- 所有的变量必须先声明,后使用。
- 指定类型的变量只能接受类型于值匹配的值。
常量和变量是 Java 程序中最基础的两个元素。常量的值是不能被修改的,而变量的值在程序运行期间可以被修改。
1-4.1声明变量
格式有俩种
变量类型 变量名称(标识符) = 声明变量的值;
变量类型 变量名称(标识符);
变量标识符的命名规范如下:
- 首字符必须是字母、下划线、$、或者¥
- 标识符有数字、大写字母、小写字母(a~z)、下划线(―)、美元符号($)、人民币符号(¥)
- 不能吧关键字、保留字作为标识符
- 标识符的长度没有限制
- 标识符区分大小写。
例图
public class Helloword{
String employee; // String 类型的变量
boolean isSave; // boolean 类型的变量
int create_at; // int 类型的变量
}
变量赋值
初始化变量有两种方式:一种是声明时直接赋值,一种是先声明、后赋值。
//第一种
char usersex='女'; // 直接赋值
//或
String username; // 先声明
username ="琪琪"; // 后赋值
//可以同时初始化多个
int a = 1,b=12,c =90;
初始化注意:
- 变量在类如果没有初始化后,会自动默认变量的初始值为0。
- 方法中的变量必须初始化,否则会无法使用。
1-4.2变量的作用域:
变量的作用域规定了变量可以使用的范围;只有在范围内才可以发生作用;
根据作用域的不同,变量分为成员变量和局部变量。
成员变量:
成员变量有俩种,分别是全局变量和静态变量(类变量)。定义在方法体和语句块之外,作用域是整个类。
名称 | 修饰 | 访问 | 生命周期 |
---|---|---|---|
全局变量(实例变量) | 无 static 修饰 | 对象名.变量名 | 只要对象被当作引用,实例变量就将存在 |
静态变量(类变量) | 用 static 修饰 | 类名.变量名或对象名.变量名 | 其生命周期取决于类的生命周期。类被垃圾回收机制彻底回收时才会被销毁 |
例如:
public class Shop {
//品牌 尺寸 价格 库存数
String brand; //成员变量、实例变量
double size;
double prize;
static final int count=1 ;// 成员变量、静态变量(类变量)
}
测试类代码
public static void main(String[] args) {
Shop shop = new Shop("MAC", 14.2, 5, 100);/ 创建类的对象
// 对象名.变量名调用实例变量(全局变量)
System.out.println(shop。brand);
System.out.println(shop.prize);
局部变量:
局部变量是指方法在方法代码块中定义的变量,其作用域在其所在代码块。
可以分为以下三种:
方法参数变量(形参):在整个方法内有效。作用域是整个方法。
方法局部变量(方法内定义):从定义变量开始到方法结束到这结束一段时间内有效。
代码块局部变量(代码内定义):从定义这个变量开始到代码块结束这一段时间内有效。代码块局部变量常用于 try catch 代码块中,成为异常处理参数变量。
注意:局部变量在使用前必须被初始化。
方法局部变量:
1-5数据类型
在Java中所有的变量都必须明确定义其类型才可以使用。
Java数据类型分为来两种:基础数据类型和引用数据类型
1-5-1基本数据类型
类型名称 | 关键字 | 占用内存 | 取值范围 |
---|---|---|---|
字节型 | byte | 1 字节 | -128~127 |
短整型 | short | 2 字节 | -32768~32767 |
整型 | int | 4 字节 | -2147483648~2147483647 |
长整型 | long | 8 字节 | -9223372036854775808L~9223372036854775807L |
单精度浮点型 | float | 4 字节 | +/-3.4E+38F(6~7 个有效位) |
双精度浮点型 | double | 8 字节 | +/-1.8E+308 (15 个有效位) |
字符型 | char | 2 字节 | ISO 单一字符集 |
布尔型 | boolean | 1 字节 | true 或 false |
基本数据类型又分为四大类
整数{int short byte long}
浮点{float double}
字符型{char}
布尔型{Boolean }
例如
//整数类型
public static void main(String[] args) {
byte a = 20; // 声明一个byte类型的变量并赋予初始值为20
short b = 10; // 声明一个short类型的变量并赋予初始值为10
int c = 30; // 声明一个int类型的变量并赋予初始值为30
long d = 40; // 声明一个long类型的变量并赋予初始值为40
long sum = a + b + c + d;
System.out.println("20+10+30+40=" + sum);
// 浮点
/*
浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。
双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。
*/
float as = 12.345f; 定义float类型并赋予初值
double ad = 12.345d;//定义double \类型并赋予初值
double af = (double) as+ad//需要转化一下
System.out.println();
//布尔类型
/*
布尔型用于表示真假
其长度为1
虽然布尔型真正存放的数据是0(false) 1(true)
但是,不能直接使用0 1 进行赋值
*/
boolean lisblae; // 声明 boolean 类型的变量 isable
boolean v = false;// 声明 boolean 类型的变量 a,并赋予初值为 false
//字符型
/*
char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
其长度和short一样,只能存放一个字符
*/
char letter= 0;
char number = 2;
}
引用数据类型
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,
分为:数组、类、接口
小知识
空类型(null type)就是 null 值的类型,这种类型没有名称。因为 null 类型没有名称,所以不可能声明一个 null 类型的变量或者转换到 null 类型。
空引用(null)是 null 类型变量唯一的值。空引用(null)可以转换为任何引用类型。
注意:
空引用(null)只能被转换成引用类型,不能转换成基本类型,
1-6数据转化
数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。
强制类型转换
当两种数据类型不兼容,或高精度向低精度转换
语法:
(数据类型)变量名
int a = 3;
double b = 5.0;
a = (int)b;
ll)可以转换为任何引用类型。
注意:
空引用(null)只能被转换成引用类型,不能转换成基本类型,
1-6数据转化
数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。
强制类型转换
当两种数据类型不兼容,或高精度向低精度转换
语法:
(数据类型)变量名
int a = 3;
double b = 5.0;
a = (int)b;