标识符
Java中的包、类、方法、参数和变量的名称为标识符
标识符的命名规则
- 必须以字母、下划线(_)或美元符号($)开头;
- 余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限;
- 标识符中不能有空格;
- 不能使用Java中的关键字或者保留字做为标识符;
标识符命名建议
- Pascal 规则:组成标识符的每个单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词,要求全部大写。
- Camel 规则:标识符的首字母小写,每个后面连接的单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词,要求它们出现在标识符首部时全部小写,否则全部大写。
元素 | 规范 | 示例 |
---|---|---|
类名 | 每个单词首字母大写 | Person StudentDemo |
变量名 | 第二个单词首字母大写 | age height avgValue |
方法名 | 第二个单词首字母大写 | getAge setUserValue |
包名 | 全部小写 | com_neusoft |
常量名 | 全部大写 | MAX_VALUE |
变量和数据类型
变量
- 变量是指在程序的运行过程中随时可以发生变化的量(数据)
- 变量是程序中数据存放的空间
数据类型
- 在Java中,数据类型分为两大类:
- 基本数据类型:4类8种基本数据类型
- 引用数据类型
整数类型
类型 | 占用存储空间 | 表数大小 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -215~ 215-1 |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
Java语言的整形常量默认为int型,声明long型后面需加上l或者L,否则会出错。
浮点数类型
类型 | 占用存储空间 | 表数大小 |
---|---|---|
float | 32位 | -3.403E38~3.403E38 |
double | 64位 | -1.798E308~1.798E308 |
Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F。
字符类型
Java中的字符类型的值通常用英文单引号括起来,代表单个字符
字符表示 | 含义 |
---|---|
‘a’ | 英文字符a |
‘中’ | 中文字符 中 |
65 | 英语字符 A |
\'转义字符 | 相当于单引号’ |
布尔类型
- boolean类型适于逻辑运算,一般用于表示真或假
- boolean 数据类型只有两个值:true 和 false
运算符
是一种特殊的符号,用以表示数据的运算、赋值和比较
运算符的种类:
赋值运算符:=、+=、﹣=、=、/=、%=
数学运算符: +、﹣、、/、%、++、 –
比较运算符:>、<、>=、 <=、= =、!=、
逻辑(布尔)运算符:!、&&、||
三元(条件)运算符: ?::
赋值运算符
符号 | 写法 | 含义 |
---|---|---|
= | x=y; | 把变量y的值赋给x |
+= | x+=y; | x=x+y; |
-= | x-=y; | x=x-y; |
*= | x*=y; | x=x*y; |
/= | x/=y; | x=x/y; |
数学运算符
二元运算符:加’+’,减’-’,乘’*’,除’/’,求余’%’。
public class 二元数学运算符 {
public static void main(String[] args) {
// + - * / %(取余运输)
// Java是强类型 整数之间运算结果是整数
// 数学运算时 如果有整数类型和小数类型同时运算 自动类型转换
int a = 5,b = 6;
double c = 6.0;
System.out.println( a+b );
System.out.println( a/b );
System.out.println( a+c );
System.out.println( a/c );
// 取余运算 得到除不尽的部分 余数
// 取余运算 用于判断一个数能否被另外一个数整除
System.out.println( 10%3 );
System.out.println( 15%5 );
// + 字符串连接符
// 当+号前后有字符串数据出现时 字符串连接 连接成一个新的字符串
System.out.println("45"+1);
System.out.println(2+2+"2"); // 2+2->4+"2"->42
// 固定的字符串内容 连接变化的数据(变量)
String name = "衬衫";
int value = 15;
System.out.println(name+"的价格是9镑"+value+"便士");
}
}
一元运算符:负‘-’,自加‘++’,自减‘–‘。
- 自增、自减运算符: ++, –
- 自增、自减运算符可以用于数值变量之前或者之后
- i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.
- ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.
- i–, 后–, 先将i的值作为整个表达的值, 然后将i减少1.
- –i, 先–, 先将i减少1, 然后将i的值作为整个表达的值.
public class 一元数学运算符 {
public static void main(String[] args) {
int x,y,z;
x = 3;
y = 2;
z = x++/y;
System.out.println( z );
System.out.println( x );
}
}
比较运算符
符号 | 含义 |
---|---|
== | 相等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
逻辑(布尔)运算符
符号 | 含义 | 备注 |
---|---|---|
&& | 逻辑与 | 参与运算的数据都是true结果才为true 表并且 |
|| | 逻辑或 | 参与运算的数据有一个true结果就为true 表或者 |
! | 逻辑非 | true变false false变true |
三元(条件)运算符
所谓三元运算符 条件运算符,是对三个表达式进行集中比较,表达式1的结果为true时,就为第二个表达式,如果为false时,就为第三个表达式。
语法是:
表达式1?表达式2:表达式3;
运算符的优先级
顺序 | 运算符 |
---|---|
1 | 括号 |
2 | 一元运算符,如 -、++、- - 和 ! |
3 | 数学运算符,如 *、/、%、+ 和 - |
4 | 关系运算符,如 >、>=、<、<=、== 和 != |
5 | 逻辑运算符,如&&、|| |
6 | 条件运算符和赋值运算符,如 ?:、=、*=、/=、+= 和 -= |
数据类型转换
自动类型转换
- 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算
- 自动转换规则
boolean类型不可以转换为其他的数据类型
整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则:
- byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型
强制类型转换
- 容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换,其格式如下:
- 在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出,使用时需注意
public class 强制类型转换 {
public static void main(String[] args) {
// 大类型数据 赋值给 小类型数据
// 需要强制转换 (目标类型)
// 强制转换数据会有丢失
int a = 1000;
byte b = (byte)a;
double m = 1.3333;
int n = (int)m;
System.out.println( b );
System.out.println( n );
}
}
练习示例
1、已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。(知识点:变量和运算符综合应用)
public class 练习示例1 {
public static void main(String[] args) {
int t,a = 1,b = 2;
t = a;
a = b;
b = t;
System.out.println("a="+a+",b="+b);
}
}
2、给定一个100~999的整数,求各位数的和,例如345的结果是3+4+5=12注:分解数字既可以先除后取余也可以取余后除(知识点:变量和运算符综合应用)
import java.util.Scanner;
public class 练习示例2 {
public static void main(String[] args) {
int n,B,T,H;
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
B = n%10;
T = n/10%10;
H = n/100;
n = B+T+H;
System.out.println(n);
}
}