标识符与关键字
标识符:用于给程序中变量、类、方法命名的符号
1.由数字、字母、下划线、美元符号组成,数字不能开头
2.不能是java关键字和保留字,但可以包含关键字和保留字
1. Java关键字列表 (依字母排序 共50组):
abstract, assert,
boolean, break, byte,
case, catch, char, class, const, continue,
default, do, double,
else, enum, extends,
final, finally, float, for,
goto,
if, implements, import, instanceof, int, interface,
long,
native, new,
package, private, protected, public,
return,
short, static, strictfp, super, switch, synchronized,
this, throw, throws, transient, try,
void, volatile,
while
其中:
保留关键字为:goto, const
Java1.2添加的关键字:strictfp
Java1.4添加的关键字:assert
Java5.0添加的关键字:enum
2. Java保留字列表 (依字母排序 共14组)
Java保留字是指现有Java版本尚未使用,但以后版本可能会作为关键字使用:
byValue,
cast, const,
false, future,
generic, goto
inner,
null,
operator, outer,
rest,
true,
var
注意
1.标识符不能包含空格
2.字母除了26个英文字母外,也可以是中文
3.区分大小写
变量
变量命名规则
驼峰命名法:myFirstName、myLastName
帕斯卡命名法:FirstName、LastName
匈牙利命名法:变量名=属性+类型+对象描述
例如:nFoo,szFoo,pFoo,cpFoo分别表示整型变量,字符串型变量,指针型变量和常指针型变量
变量的使用规则
1.声明变量:String name;
2.赋值:name = “张三”;
1、2步可以合并(和C一样)
3.使用变量:System.out.println(“姓名”+name);
数据类型
基本数据类型和引用数据类型的区别
栈内存、堆内存
基本数据类型的变量的值保存在栈内存中,引用数据类型的变量的值保存在堆内存中
基本数据类型的大小
基本数据类型的包装类
数据类型的转换
自动转换
int score = 100;
double score2 = score1;
需要同时满足:
1.目标类型能与源类型兼容,如double型兼容int型,但是char型不能兼容int型
2.目标类型大于源类型,如double类型长度为8字节,int类型为4字节,因此double类型的变量里直接可以存放int类型的数据,但反过来就不可以了
强制转换
只有对一种数据类型不熟悉的时候才会用,一般用于hook注入时获取到数据的二进制才使用
int age = 20;
char sex = ‘男’;
char result = (char)age+sex;
double avg1 = 78.8;
int avg2 = (int)avg1;
常量
一般使用大写字母
final double PI = 3.14;
final String LOVE = “15pb”;
final int MAX_SIZE = 100;
控制台数据的输入
输入数据时用到了java内置的一个类
1.导入Scanner类
import java.util.Scanner;
2.定义一个Scanner类型的变量
Scanner input = new Scanner(System.in);
3.获取键盘输入的数据
String bookName = input.next();
如果是整型:int nId = input.next();
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("请输入数据:");
//1.创建Scanner对象 获取输入流
Scanner scanner = new Scanner(System.in);
//2.接受输入数据
String string = scanner.next();
//3.输出数据
System.out.println(string);
}
}
idea需要的一些设置
不打开上一个项目
鼠标滚轮
代码提示
自动导入复制的代码
表达式与运算符
算数运算符
赋值运算符
比较运算符
逻辑运算符
条件运算符/三元运算符
String str = (score>60) ? (“及格”):(“不及格”)
位运算符
运算符优先级
练习
1.键盘输入五位数字的会员卡号:38503
使用“/”和“%”运算符分解获得的会员卡每一位上的数字
将每一位数字求和
2.从键盘输入学生学号:20161103(2016年+11期+03号)
使用“/”和“%”云算符分解学生学号获得年份期数和序号
并且输出:
- 学生学号:20161103
学生入学年份:2016年
学生期数:11期 - 学生序号:03号