1.project(项目 工程)
2.module(模块)
3.package(包)
4.class(类)
又称常量 字面值常量 分为6大类
1.整数
2.小数
3.字符串 写法中需使用双引号
4.字符 写法中需使用单引号
5.布尔值 true或false
6.空值 null
变量就是内存中的存储空间,空间中存储着经常发生改变的数据
int 变量名 = 变量值
变量的注意事项
1.不能重复定义同一变量
2.一行语句可以定义多个变量 中间使用,隔开
3.定义变量必须给一个值
4.变量的作用域
public class variableDemo1 {
//变量的注意事项
public static void main(String[] args) {
//1.已经定义过的变量不允许重复定义
int age=118;
// int age =119;
System.out.println(age);
//2.一行语句看定义多个变量 中间用,隔开
int a=1,b=2,c=3;
//3.定义的变量必须赋值
int nowYear;
nowYear=2023;
System.out.println(nowYear);
// TODO 4.变量的作用域
}
}
Debug:是供程序员使用的程序调试工具 又称断点调试(断点就是一个标记,告诉Debug从标记的地方开始查看)
可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序
加断点
选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可
开启Debug
点哪里
看哪里
删除断点
标识符:就是给类,方法,变量名起名字的符号
1.由数字、字母、下划线_和美元$组成
2.不能以数字开头
3.不能是关键字
4.区分大小写
byte 1个字节 -128--127
short 2个字节
int 4个字节 (十位数) 默认
long 8个字节 (使用时需+L)
float 4个字节 使用时需要加F (单精度)
double 8个字节 (双精度) 默认
boolean true或false 一个字节
char 2个字节
public class DataTypeDemo {
public static void main(String[] args) {
// 基本数据类型
//1.整数
// byte 1个字节 -128-127
// short 2个字节
// int 4个字节 10位数
// long 8个字节
//-----------------------------
//2.小数
// float 4个字节 (单精度)
// double 8个字节 (双精度)
//-----------------------------
//3.字符
// char 2个字节
//-----------------------------
//4.布尔值
// boolean 1个字节
//整数
int age=18;
System.out.println(age);
long tel=18816079789L; //使用long 需后缀加L
//小数
double height=173.1;
System.out.println(height);
float newHeight=183.1F; //使用float 需后缀加F
//所有整数默认是int类型
//所有小数默认是double类型
char a=97; //编码表 取值范围0--65535
System.out.println(a);
}
}
步骤
1.导包
import java.util.Scanner
2.创建对象
Scanner sc = Scanner(System.in)
3.调用方法
int age = src.nextInt()
示例代码
//导包
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
//创建Scanner对象
Scanner sc=new Scanner(System.in);
//请输入姓名
System.out.println("1.请输入您的姓名:");
String name=sc.next();
//请输入您的年龄
System.out.println("2.请输入您的年龄:");
int age =sc.nextInt();
//请输入您的性别
System.out.println("3.请输入您的性别:");
String sex=sc.next();
//请输入您的身高
System.out.println("4.请输入您的身高:");
double height =sc.nextDouble();
//请输入您的婚姻状况
System.out.println("5.请输入您的婚姻状况:");
boolean isOne=sc.nextBoolean();
//注册成功
System.out.println("6.注册成功");
System.out.println(name);
System.out.println(age);
System.out.println(sex);
System.out.println(height);
System.out.println(isOne);
}
}
运算符:对字面量或者变量进行操作的符号
表达式:运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
+ 加法
- 减法
* 乘法
/ 除法
% 取余
当 + 操作中遇到了字符串,这时 + 就是字符串连接符,而不是算术运算符
i++ i-- 先赋值 再自增或自减
++i --i 先自加或自减 再赋值
++ -- 只能操作变量 不能操作常量
public class OperatorDemo1 {
public static void main(String[] args) {
//自增自减运算符
// ++i --i (先自增或自减,在赋值)
// i++ i-- (先赋值,再自增或自减)
// 只能操作变量 不能操作常量
int a =10;
int b =a++;
System.out.println(a); //11
System.out.println(b); //10
int c = 10;
int d =++c;
System.out.println(c); //11
System.out.println(d); //11
}
}
把一个取值范围小的数值或者变量 赋值给一个取值范围大的变量
数据范围大小(byte>short or char>int>long>float>double)
byte shot char 三种数据在进行运算时 会先提升为int类型
public class OperatorDemo2 {
public static void main(String[] args) {
//类型转换--隐式转换 把取值范围小的数 赋值给另一个取值范围大的数
//取值范围 byte>short>int>long>float>double
// 1 2 4 8 4 8
int a = 10;
double b = a; //10.0
System.out.println(b);
int c =10;
double d =10.5;
//取值范围小的和取值范围大的进行运算 取值范围小的会先提升为大的在进行运算
// c: 10(int)=>10.0(double)
double e=d+c;
System.out.println(e); //20.5
//byte short char 三种数据在进行运算时 会先提升为int 然后在进行运算
byte f =10;
short g =11;
char h ='a'; //97
int I=f+g+h;
System.out.println(I);
}
}
隐式转换练习
public class OperatorTest1 {
public static void main(String[] args) {
double a =10 + 12.3;
// int=>double 默认是double
byte num1 = 10;
short num2 = 20;
//byte short char 运算时先提升为int类型
int num3 =num1 + num2;
System.out.println(num3); //30
double b = 10 + 'a' + 12.3;
// int char(97) double
System.out.println(b); //119.3
}
}
把一个取值类型范围大的数值或者变量,赋值给一个取值范围小变量
不允许直接赋值,需要加入强制类型转换
转换格式 目标数据类型 变量 = (目标数据类型) 被强转的数据
public class OperatorDemo3 {
public static void main(String[] args) {
// 强制类型转换
//把一个取值范围大的数或者变量 赋值给另外一个取值范围小的变量
//格式 目标数据类型 变量名 =(目标数据类型) 被强制转化的数据
//强制转化(有可能)出现精度问题
double a = 173.1;
int b =(int) a;
System.out.println(b); //173
short aa =130;
byte bb = (byte) aa;
//得到值为-126 参考7.5 进制相关知识
System.out.println(bb); //-126
}
}
相关练习题
public class OperatorDemo4 {
public static void main(String[] args) {
byte a =3;
byte b =4;
// (a + b) 先转成int 再强制类型转换为byte
byte c=(byte)(a + b);
//常量优化机制 在编译的时候(javac)就会将3和4这两个字面量进行运算
byte d=3 + 4;
}
}