标识符与关键字

标识符:用于给程序中变量、类、方法命名的符号
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分别表示整型变量,字符串型变量,指针型变量和常指针型变量
image.png

变量的使用规则

1.声明变量:String name;
2.赋值:name = “张三”;
1、2步可以合并(和C一样)
3.使用变量:System.out.println(“姓名”+name);

数据类型

image.png

基本数据类型和引用数据类型的区别

栈内存、堆内存

image.png
基本数据类型的变量的值保存在栈内存中,引用数据类型的变量的值保存在堆内存中

基本数据类型的大小

image.png

基本数据类型的包装类

image.png

数据类型的转换

自动转换

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();

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. System.out.println("请输入数据:");
  5. //1.创建Scanner对象 获取输入流
  6. Scanner scanner = new Scanner(System.in);
  7. //2.接受输入数据
  8. String string = scanner.next();
  9. //3.输出数据
  10. System.out.println(string);
  11. }
  12. }

image.png

idea需要的一些设置

不打开上一个项目

image.png

鼠标滚轮

image.png

代码提示

image.png

自动导入复制的代码

image.png

表达式与运算符

image.png

算数运算符

image.png

赋值运算符

image.png

比较运算符

image.png

逻辑运算符

image.png
image.png

条件运算符/三元运算符

String str = (score>60) ? (“及格”):(“不及格”)

位运算符

image.png

运算符优先级

image.png

练习

1.键盘输入五位数字的会员卡号:38503
使用“/”和“%”运算符分解获得的会员卡每一位上的数字
将每一位数字求和

2.从键盘输入学生学号:20161103(2016年+11期+03号)
使用“/”和“%”云算符分解学生学号获得年份期数和序号
并且输出:

  • 学生学号:20161103
    学生入学年份:2016年
    学生期数:11期
  • 学生序号:03号