目录
一、IDEA
项目结构介绍
project(项目)
module(模块)
package(包)
class(类)
二、注释
1、单行注释:// 注释信息
2、多行注释:/* 注释信息 */
3、文档注释:/** 注释信息 */
三、字面量类型
1、整数类型:123
2、小数类型:123.4
3、字符串类型:"abc"
4、字符类型:'a'
5、布尔类型:只有两个值,true和false
6、空类型:一个特殊的值,空值,值为null
四、数据类型
1、基本数据类型
整数:
byte、short、int、long
byte的取值范围是-128至127
定义long类型变量时的格式为 long n = 999999L 或 long n = 999999l
浮点数:
float、double
定义float类型变量时的格式为 float f = 12.3F 或 float f = 12.3f
整数和浮点数取值范围大小关系:
double>float>long>int>short>byte
字符:
char
布尔:
boolean
2、引用数据类型
五、标识符
1、命名规则(硬性要求)
(1)由字母、数字、下划线(_)和美元符($)组成
(2)区分大小写
(3)不能是关键字
(4)不能以数字开头
2、命名规则(软性建议)
(1) 变量名和方法名使用小驼峰命名法
(2) 类名使用大驼峰命名法
(3)见名知意
六、简单代码段
// HelloWorld
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World !");
}
}
// 键盘录入
import java.util.Scanner; // 1、导包
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 2、创建对象
System.out.println("请输入第一个整数:");
int i = sc.nextInt(); // 3、接收数据
System.out.println("请输入第二个整数:");
int j = sc.nextInt();
System.out.print("两个整数的和为");
System.out.println(i+j);
}
}
七、运算符
1、各类运算符
算术运算符:+ - * / %
自增自减运算符:++ --
赋值运算符:= += -= *= /= %=
关系运算符:== != > >= < <=
逻辑运算符:&(与) |(或) !(非) ^(异或)
短路逻辑运算符:&&(短路与) ||(短路或)
三元运算符:? :
注意!若参与运算的数值都是整数类型,则结果为整数类型!
注意!若有浮点数参与运算,则结果有可能不精确!
2、隐式转换和强制转换
数值进行运算时,若数据类型不一样则不能直接运算,需将数据类型转成一样才能运算
整数和浮点数取值范围大小关系:double>float>long>int>short>byte
隐式转换的(提升)规则:
(1)取值范围较小的类型 转成 取值范围较大的类型
(2)byte、short、char三种类型的数据在运算时,都会先提升为int类型再进行运算
强制转换的规则:
注意!强制转换可能导致数据发生错误!
(1)取值范围较大的类型 转成 取值范围较小的类型
(2)格式:目标数据类型 变量名 = (目标数据类型) 被强制转换的数据
八、+操作
1、字符串的+操作
(1)当+的操作对象包含有字符串时,+即为字符串连接符
(2)连续执行+操作时,从左至右逐个执行
2、字符的+操作
当 字符+字符 或者 字符+数字 时,会通过ASCII码表查询到字符对应的数字进行运算
public class StringDemo {
public static void main(String[] args) {
System.out.println("Hello" + "World");
System.out.println("Hello" + 123);
System.out.println(123 + "Hello");
System.out.println(10 + 10 + "Hello");
System.out.println("Hello" + 10 + 10);
System.out.println(10 + "Hello" + 10);
System.out.println("Hello" + true);
System.out.println(true + "Hello");
System.out.println('a' + "Hello" + true);
System.out.println(1 + 2 + "Hello" + 1 + 2);
System.out.println('a' + 'b');
System.out.println('a' + 1);
}
}
九、判断和循环
1、判断
// if的三种格式
// 1
if ()
{
}
// 2
if ()
{
}
else
{
}
// 3
if ()
{
}
else if ()
{
}
else if ()
{
}
else if ()
{
}
else
{
}
// switch语句格式
switch (表达式)
{
case 值1 :
语句体1
break;
case 值2 :
语句体2
break;
case 值3 :
语句体3
break;
default :
语句体4
break;
}
// 执行流程:
// 1、首先计算表达式的值;
// 2、依次和case后面的值进行比较,
// 如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束;
// 3、如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,
// 然后结束整个switch语句。
// case穿透:
// 省略了break导致的现象
// 注意:
// 1、case后面的值只能是字面量,不能是变量
// 2、case给出的值不允许重复
// 3、default可以省略,不会有语法问题
// 4、default可以写在任意位置
// switch新特性代码段
import java.util.Scanner;
public class tem {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
switch (n)
{
case 1 -> System.out.println("壹");
case 2 -> System.out.println("贰");
case 3 -> { System.out.println("叁"); }
case 4 -> { System.out.println("肆"); }
default -> System.out.println("无法转换!");
}
}
}
// switch新特性的等价代码段
import java.util.Scanner;
public class tem {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
switch (n)
{
case 1 :
System.out.println("壹");
break;
case 2 :
System.out.println("贰");
break;
case 3 :
System.out.println("叁");
break;
case 4 :
System.out.println("肆");
break;
default :
System.out.println("无法转换!");
break;
}
}
}
2、循环
// 1、for循环
for ( ; ; )
{
}
// 2、while循环
while ( )
{
}
// 3、do while循环
do{
} while ( )
十、数组
1、数组的定义
(1)数据类型 [ ] 数组名
(2)数据类型 数组名[ ]
2、数组的初始化
(1)静态初始化
完整格式:数据类型 [ ] 数组名 = new 数据类型 [ ] {元素1,元素2,元素3……};
简化格式:数据类型 [ ] 数组名 = {元素1,元素2,元素3……};
(2)动态初始化
动态初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型 [ ] 数组名 = new 数据类型 [数组长度];数组默认初始化值的规律:
整数类型默认初始化值为0;
小数类型默认初始化值为0.0;
字符类型默认初始化值为'/u0000',即空格;布尔类型默认初始化值为false;
引用数据类型默认初始化值为null
3、数组的地址值
public class tem {
public static void main(String[] args) {
int [] arr = new int[]{1,2,3};
System.out.print("数组的地址值:");
System.out.println(arr);
}
}
4、数组元素的访问
格式:数组名 [索引]