1.关键字:
- 1.全部小写
- 2.具体特定功能,不能当做普通标识符用
2.标识符:
- 1.字母、数字,下划线,$组成。
- 2.数字不可以开头。
- 3.不可以使用关键字和保留字,但能包含关键字和保留字。
- 4.Java中严格区分大小写,长度无限制。
- 5.标识符不能包含空格。
- 6.用于类名、接口名,方法名,变量名,常量名等(凡是自己可以起名字的地方都叫标识符。)
在起名字的时,为了提高阅读性,要尽量有意义,做到“见名知意”。
3.常量
(1).什么是常量?
答:程序运行期间,固定的值是不能更改的。
(2).常量有多少种?
答:有整数(100)、字符串("加油 ")、浮点(3.14)、字符(‘a’)、布尔(true/false)。
//整数
System.out.println(250);
System.out.println(100);
//字符串
System.out.println("我爱学习");
System.out.println("");//这是正确,这是一个空的字符串
//浮点
System.out.println(3.1415926);
//字符
//System.out.println('');//字符必须有内容
System.out.println('A');
//布尔
System.out.println(true);
4.变量
(1)什么是变量?
答:
- 变量在运行期间,内容可以在一定范围内进行改变
- 变量的作用范围:{ }
- 定义变量:数据类型 变量名 = 变量值;
(2)重要考试题***
(变量的划分)
- 按被声明的位置划分
1.变量的类型分为两种:
①.局部变量:在方法内部声明的变量
②.成员变量:在类方法之外声明的变量
2.区别:
①局部变量必须要初始化,成员变量不需要初始化,因为放在堆里面,会自动给他一个默认值。
②作用范围不同,成员变量作用于整个类;局部变量作用于当前方法。
public class Demo2 {
//成员变量
static int num1;
static String name="尼古拉斯赵四";
public static void main(String[] args) {
//局部变量
int num=10;
System.out.println(num);
System.out.println(num1);
System.out.println(name);
info();
}
public static void info(){
name="谢广坤";
System.out.println(name);
}
}
运行结果:
10
0
尼古拉斯赵四
谢广坤
- 按所属的数据类型划分:
①基本数据类型变量
②引用数据类型变量
这是一个小的案例,里面包含数据类型的转换:
public class Demo3 {
public static void main(String[] args) {
/**
* 八种基本数据类型:byte short int long float double char boolean
* 引用数据类型:类,数组 ,集合,接口等
*/
//1.byte -128~127
//整数int用的多
byte b=120;//右边赋值的数字不能超过左侧变量类型的范围
//b=128;
System.out.println(b);
long l=10000L;//long类型后面必须加大写的L或者小写的l,不加,默认int型
System.out.println(l);
//2.小数
double d=0;
System.out.println(d);
float f=100F;//float值必须加大写的F或者小写的f,不加默认double型
System.out.println(f);
//3.char
char c='a';
//4.布尔 要么为true要么为false
boolean b1=true;
System.out.println("====================================");
//基本数据类型转换
//自动类型转换:把小箱子(short)的内容放到大箱子(int)里,可以自动类型转换
short s=100; //把s转成int类型
int num=s;
System.out.println(num);
//强制类型转换:把大箱子里面的内容放到小箱子里面需要强制类型转换
//需要转成什么类型,变量前面就加上什么类型的关键字,比如:short s1=(short)num1;
int num1=20;
short s1=(short)num1;
System.out.println(s1);
//Integer是int的包装类,里面封装了parseInt(),把字符串转成int
String str="123";//把str转成int***重要
int num2=Integer.parseInt(str);//把字符串转成int***重要#
System.out.println(num2);
// String str1="嘿嘿";
// num2=Integer.parseInt(str1);//不能把一个汉字转成int
// System.out.println(num2);
System.out.println("==============================");
//把int类型转成String
int num3=100;
//第一种转成String的方式:转成什么类型,就从什么类型里面找方法
String st1=String.valueOf(num3);
System.out.println(st1);
//第二种方式转成String方法
int num4=200;
String st2=num4+"";
System.out.println(st2);
//
double d1=12.12;//把小数转成int
int num5=(int)d1;
System.out.println(num5);
//把String转成小数
String str1="123.12";
double d3=Double.parseDouble(str1);
//布尔不能转成其他类型***重要#
}
}
运行结果:
120
10000
0.0
100.0
================================
100
20
123
================================
100
200
12
5.运算符
(1).常见的算术运算符
有: + 、 - 、 * 、 / 、 %
public class Demo4 {
public static void main(String[] args) {
// 加
//用在数字就是求和
int num=10;
int num1=20;
System.out.println(num+num1);
//用在字符串就不是求和而是连接功能
String str="abc";
System.out.println(str+123);
//整数和小数相加永远是小数
int num3=30;
double d=1;
System.out.println(num3+d);//31.0
}
}
(2).自增减运算符
- 自增运算符:++在原有的基础上累加1
- 自减运算符:–在原有的基础上累减1
使用方式分为两种:
- 可以在变量前面++ : ++num
- 可以在变量后面++ : num++
前后有什么区别吗?
- 如果单独使用的话,没有区别
- 如果是混合使用是有区别的:
1)如果是后++,先使用变量的值,然后进行加一。先用后加
2)如果是前++,先加后用。
(3).赋值运算符
- =: 不是相等的意思,是赋值的意思。是把右边的值赋值给右边的变量 int a = 10;
- += :a=a+b;可以简写成a+=b; (以下同理)
- -=
- *=
- /=
- %=
(4).比较运算符
:比较两个变量之间的关系,比较后只能是Boolean类型
- ==:比较两个值是否相等
- !=:
- ‘ >’
- ‘<‘
- ‘>=’
- ‘<=’
(5).逻辑运算符
- &(并且):所有条件都为true,则为true,其中有一个为false,就为false。
- |(或者):只有一个结果为true,或者所有结果都是false,就为false。
- ^(异或):相同为false,不同为true。
- ! (非): 本来 false,就变成了true。
逻辑运算符中的|和&可以双写
- 短路与:&&
- 短路或:||
短路:如果左侧已经可以判断最终结果,那么后面的判断就不会在执行了。
***
使用短路的好处:提高了代码的执行效率重点
示例:
public class Demo9 {
public static void main(String[] args) {
System.out.println(3<2 & 10>2);//false
System.out.println(3<2 && 10>2);//false
System.out.println("&和&&区别=================================");
int num = 10;
System.out.println(3>4 & ++num > 10);//false
System.out.println(num);//11
int num1 = 10;
System.out.println(3>4 && ++num1 > 10);//false
System.out.println(num1);//10
System.out.println("=========================================");
int num3 = 10;
System.out.println(4>3 || ++num3>6);//true
System.out.println(num3);
}
}
运行结果:
false
false
&和&&区别=================================
false
11
false
10
=========================================
true
10
(6).三元运算符
格式: (条件表达式)?表达式1:表达式2;
- 如果条件为true,运算后的结果为表达式1;
- 如果条件为false,运算结果为表达式2;
//获取两个数中大数
int a = 10 ;
int b = 20;
int result = (a>b)?a:b;
System.out.println(result);
结果:20