Java基础语法
注释(理解)
注释是对代码的解释和说明文字,可以提高程序的可读性,在程序中添加必要的注释文字是十分有意义的。
- // 这是单行注释文字
- /* 这是多行注释文字 */
- 文档注释以 /** 开始,以 */ 结束
- 注意:多行注释不能嵌套使用
关键字(理解)
- 关键字是指被Java语言赋予了特殊含义的单词。
- 特点: 关键字的字母全部小写。
- 代码编辑器对关键字有高亮显示,比如public、class、static等。
常量(应用)
- 在程序运行过程中,其值不可以发生改变的量称为常量。
- 分类
常量名 | 说明 |
---|---|
字符串常量 | 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、“abc”、"中国"等 |
整数常量 | 整数,例如:-10、0、88等 |
小数常量 | 小数,例如:-5.5、1.0、88.88等 |
字符常量 | 用单引号括起来的一个字符,例如:‘a’、‘5’、‘B’、'中’等 |
布尔常量 | 布尔值,表示真假,只有两个值true和false |
空常量 | 一个特殊的值,空值,值为null,仅该常量不可以使用输出语句直接输出 |
![]() |
数据类型(应用)
计算机存储单元
- 计算机无论是内存还是硬盘是可以用来存储数据的
- 计算机存储设备的最小信息单元叫“位 (bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示
- 计算机中最基本的存储单元叫“字节(byte)”, 通常用大写字母”B”表示,字节是由连续的8个位组成
- 除了字节外还有一些常用的存储单元,KB,MB,GB,TB
- 换算单位如下: 1B(字节) = 8bit ; 1KB = 1024B ; 1MB = 1024KB ; 1GB = 1024MB ;1TB = 1024GB
Java中的数据类型
Java是一个强类型语言,Java中的数据必须明确数据类型,包括8种基本数据类型【数值型 :整数(byte、short、int、long),浮点数(float,double),字符(char);非数值型:布尔(Boolean)】和引用数据类型【类(class),接口(interface),数组([])】两种。
基本数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
整数类型 | byte | 1 | -128~127 |
整数类型 | short | 2 | -32768~32767 |
整数类型 | int(默认) | 4 | -2的31次方到2的31次方-1 |
整数类型 | long | 8 | -2的63次方到2的63次方-1 |
浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到 3.402823E+38 |
浮点类型 | double(默 认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到 1.797693E+308 |
字符类型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1 | true,false |
注意:
- e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方;
- java中整数默认是int类型,浮点数默认是double类型。
扩展:
public class Demo{
public static void main(String[] args){
//整数扩展 进制 二进制0b 十进制
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F 16
System.out.println(i); //10
System.out.println(i2); //8
System.out.println(i3); //16
System.out.println("-------------")
//浮点数扩展 银行业务不用基本类型而是用类表示 (BigDecimal 数学工具类)
float f = 0.1f; //0.1
double d =1.0/10; //0.1
System.out.println(f==d);//false f:0.1 d:0.1
System.out.println(f); //0.1
System.out.println(d); //0.1 f != d(不相等)
float d1 = 1222222222222f;
float d2 = d1 + 1;
System.out.println(d1==d2); //true
/*float 有限的、离散的、舍入误差、大约、接近但不等于
double 最好使用浮点数进行比较
*/
//字符扩展
char c1 = 'a';
char c2 = '大';
System.out.println(c1); // a
System.out.println((int)c1); //强制转换 97
//并不是所有东西都支持强转
System.out.println(c2); //中
System.out.println((int)c2); //强制转换 20013
//强制转换可以字符转换成数字
//所有字符本质还是数字,编码 Unicode 2字节 0-65536
//编码表 :(a=97 A=65) Eecel表格 2^16 =65536
// U0000 UFFFF Unicode编码
char c3 = '\u0061';
System.out.println(c3); //a
//转义字符
// \t 制表符
System.out.println("Hello\tWorld");
//Hello World
// \n 换行
System.out.println("Hello\tWorld");
/*
Hello
World
*/
//.....
//对象 从内存分析 涉及一些底层的东西
//定义字符串
String sa = new String(original:"Hello World");
String sb = new String(original:"Hello World");
System.out.println(sa==sb); //false 不相等
String sc = ("Hello World");
String sd = ("Hello World");
System.out.println(sc==sd); //true 相等
//(为什么,以后从对象分析)
//布尔值扩展
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
//建议:Less is More!代码要精简易读
}
}
变量(应用)
在程序运行过程中,其值可以发生改变的量。
-
从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。
-
变量的定义格式:
数据类型 变量名 = 初始化值; // 声明变量并赋值int age = 20; System.out.println(age);
数据类型 变量名; // 先声明,后赋值(使用前赋值即可)
变量名 = 初始化值;double money; money = 52.13; System.out.println(money);
-
使用变量的注意事项:
- 使用变量,通过变量名访问即可。
- 在同一对花括号中,变量名不能重复。
- 变量在使用之前,必须初始化(赋值)。
- 定义long类型的变量时,需要在整数的后面加L,整数默认是int类型,整数太大可能超出int范围。
- 定义float类型的变量时,需要在小数的后面加F,浮点数的默认是 double类型, double的取值范围是大于float的,会导致类型不兼容。
标识符(记忆)
- 标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
- 组成规则:
- 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
- 不能使用java中的关键字作为标识符。
- 标识符对大小写敏感(区分大小写)。
- Java中标识符的命名约定:
- 小驼峰式命名:变量名、方法名 首字母小写,从第二个单词开始每个单词的首字母大写。
- 大驼峰式命名:类名 每个单词的首字母都大写。
- 标识符的命名最好可以用其意思 ,例studentScore,studentWeight等。
类型转换(理解)
-
Java中,一些数据类型之间是可以相互转换的。
-
两种情况:自动类型转换和强制类型转换。
-
自动类型转换: 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。
例如:double num = 12; // 将int类型的12直接赋值给double类型 System.out.println(num); // 输出12.0
-
强制类型转换: 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
例如:double num1 = 6.5; int num2 = (int) num1; // 将double类型的num1强制转换为int类型 System.out.println(num2); // 输出6(小数位直接舍弃)
3.说明:
- char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a’对应97。
int a = 'a'; System.out.println(a); // 将输出97
- 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。(注意: boolean类型不能与其他基本数据类型相互转换)
byte b1 = 12; byte b2 = 22; byte b3 = b1 + b2; // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。 // 修改为: int num = b1 + b2; // 或者: byte b3 = (byte) (b1 + b2);
-