Java之变量,常量,常用运算符,条件控制语句

前言

项目太紧, Java 学习停滞了一些。
一般的套路都是关键字,变量,常量,数据类型,运算符,控制语句,数组,方法(也叫函数)等等。所以还是走一遍。

变量,常量

首先每种语言都有自己的关键字,后面的命名是不能用的。

Java的关键字:53588ce900019bee05190178.jpg

不需要全部记住,混个眼熟就行,Java 关键字是区分大小写的哦!

标识符

何为标识符,标识符就是用于给Java 程序中变量、类、方法等命名的符号。

  1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name就是不合法滴

    1. 标识符不能是 Java关键字和保留字( Java预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid可以

    2. 标识符是严格区分大小写的。 所以涅,一定要分清楚 helloHello 是两个不同的标识符哦!

    3. 标识符的命名最好能反映出其作用,做到见名知意。

变量

变量就相当于一个容器,你可以放置任何东西。

Java中,我们通过三个元素描述变量:变量类型、变量名以及变量值。

房间,客人,房间类型三者之间的关系可以类比三个元素的关系。

535a6c6000015cda02910139.jpg

如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在Java程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

WX20180504-181621@2x.png

变量的命名规范:

535a3ad60001057407870199.jpg

1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge

2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName保存“学生姓名”信息

PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 pricePrice 是两个完全不同的变量!

数据类型

通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!

Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java` 中有两类数据类型:
535a6fc10001b8f604930247.jpg

常用的基本数据类型有:540d468d000167bd07000130.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class HelloWorld{
public static void main(String[] args) {
String name="雪晟";
char sex='男';
int num=18;
double price=120.5;
boolean isOK=true;
System.out.println(name);
System.out.println(sex);
System.out.println(num);
System.out.println(price);
System.out.println(isOK);
}
}

那么变量的规则需要说明一下,基本上计算机语言习惯都是酱紫。

1、Java 中的变量需要先声明后使用
2、变量使用时,可以声明变量的同时进行初始化
3、变量中每次只能赋一个值,但可以修改多次
4、main 方法中定义的变量必须先赋值,然后才能输出
5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

每种语言都有它的自动类型转换
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:5359d0c70001ffe202530066.jpg

代码中int型变量score1 可以直接为double型变量 score2 完成赋值操作,运行结果为:82.0

这种转换称为##自动类型转换##。

当然自动类型转换是需要满足特定的条件的:

  1. 目标类型能与源类型兼容,如 double型兼容int 型,但是 char型不能兼容int
  2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此double类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了。

Java中的强制类型转换

当程序中需要将 double型变量的值赋给一个int 型变量,该如何实现呢?

显然,这种转换是不会自动进行的!因为 int 型的存储范围比double 型的小。此时就需要通过强制类型转换来实现了。
语法:( 数据类型 ) 数值53688a9a0001f73404330109.jpg

强制类型转换可能会造成数据的丢失哦

Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。这个和OC就有一点不同。

语法:final 常量名 = 值;

image

常量名一般使用大写字符

1
2
3
4
5
6
7
8
9
public class HelloWorld{
public static void main(String[] args) {
final String MAN = "男";
final String WOMAN = "女";
System.out.println(MAN);
System.out.println(WOMAN);
}
}

运算符

运算符是一种“功能”符号,用以通知 Java 进行相关的运算。
通用的运算符有以下几种:
1.算术运算符
5368a1a10001da7603050148.jpg
2.赋值运算符
5360ebdb0001401b04430144.jpg

3.比较运算符

536063f00001b7b904350145.jpg

4.逻辑运算符
5360ef9700017b9405870095.jpg
5.条件运算符

条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

1
2
3
4
5
6
7
public class HelloWorld{
public static void main(String[] args) {
int score=68;
String mark = (68 > 60) ? "及格" : "不及格";
System.out.println("考试成绩如何:"+mark);
}
}

Java中运算符的优先级

所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:
5360ffb90001b4f002620224.jpg

级别为 1 的优先级最高,级别 11 的优先级最低

条件控制语句

基本上都是if ..else ,do while(先执行,后判断do…while 语句保证循环至少被执行一次),for,break(跳出循环,执行后面的语句), continue(跳过本次循环,执行下一次循环)。基本上没有什么变化。