【Java】02 数据类型与运算符
Java 是一门强类型语言,强类型语言可以在编译过程中发现语法错误,从而保证程序更加健壮。Java 还提供了一系列功能丰富的运算符,这些运算符是 Java 编程的基础。
一、前置知识
1.1 注释
编写程序时给代码添加一些注释,用以说明某段代码的作用,或者说明某个类的用途、某个方法的功能,以及该方法的参数和返回值的数据类型及意义等,可以提高代码的可读性。养成良好的编程习惯从写注释开始。
1.2 分隔符
Java 中 分号 " ;"、花括号 " { } "、方括号 " [ ] "、圆括号 " ( ) “、空格 " " 、圆点 " . " 都具有特殊的分隔作用,因此被统称为分隔符。
;
:作为语句的分隔,Java 语句结束后必须以 " ;” 结尾。
{
:花括号成对出现,被花括号包括的代码块在逻辑上是一个整体。
[
:方括号用于访问数组等填写索引。
(
:用于方法传参、强制类型转换等
" "
:区分一条语句的不同部分,多个空格无影响。
.
:作为类与方法、成员变量之间的分隔
1.3 标识符
命名规则: 由 、_ 、英文字母、数字组成,并且以 、_ 、英文字母开头。(标识符不能是关键字) 驼峰命名法: 类名:第一个单词首字母必须大写,后续单词首字母大写。 方法名:第一个单词首字母小写,后续单词首字母大写。 变量:第一个单词首字母小写,后续单词首字母大写。 常量:所有字母均大写。 单词的拼接:通常使用 userName 方式拼接单词,而不是user_name。
1.4 关键字
java中有50个关键字,他们都是由java定义好的,关键字全部都是小写。
除以上 50 个关键字以外,Java 还定义了 true、 false、null 三个常量,也是不允许用来做标识符的。
1.5 ASCII
二、数据类型
2.1 数据类型
2.1.1 分类
2.1.2 基本数据类型
2.1.3 引用数据类型
类(class)、接口(interface)、数组(array)。 例如:String 字符串
2.2 常量
在程序运行过程中值不会改变的量称为常量。常量在整个程序中只能被赋值一次,且常量的值可以共享给程序中的所有对象。在Java中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。
语法
final 数据类型 常量名 = 值; // 例:final double PI = 3.14;
补充 直接量是指在代码中直接给出的量,例如:int a = 100; 其中为 a 赋的初值 100 就是直接量。
2.3 变量
变量相当于一个盒子,当声明一个变量后,Java 会根据数据类型开辟一块空间,用来给你存放值,存放什么值他就代表什么。
语法
数据类型 变量名 = 值; // 例:int a = 100;
注意 变量名必须是一个合法的标识符! 变量不赋值不能使用! 在一个{ }内,变量名不能重复!
2.4 类型转换
2.4.1 自动类型转换
范围小的可以自动转换为范围大的
示例
int a = 2;
double b = 2.0;
System.out.println(a + b); // 4.0
2.4.2 强制类型转换
将范围大的强制转换为范围小的,强制类型转换有精度损失
语法
目标类型 变量名 = (目标类型)待转换值; // 例:int a = (int) 2.3; ⇨ a = 2;
三、运算符
3.1 算数运算符
加法:
int a = 1;
int b = 9;
int c = a + b;
System.out.println("c = " + c); // c = 10
// “ + ” 除了正常的加法运算以外,还可以拼接字符串
String s1 = "Hello";
String s2 = "World";
String str = s1 + s2;
System.out.println("str = " + str); // str = HelloWorld
减法:
int a = 1;
int b = 9;
int c = b - a;
System.out.println("c = " + c); // c = 8
乘法:
int a = 2;
int b = 9;
int c = a * b;
System.out.println("c = " + c); // c = 18
除法: 整型进行除法运算结果会舍去小数,为浮点型是进行除法运算才会保留小数,被除数不能为 0 ,否则会报 / by zero 异常
int a = 4;
int b = 10;
int c = b / a;
System.out.println("c = " + c); // c = 2
double x = 4;
double y = 10;
double z = y / x;
System.out.println("z = " + z); // z = 2.5
取余: 取余数
int a = 3;
int b = 10;
int c = b % a;
System.out.println("c = " + c); // c = 1
自增: ++ 在前为先加再用,++ 在后为先用后加
int a = 3;
System.out.println(a++); // 3
int b = 3;
b++;
System.out.println(b); // 4
int c = 3;
System.out.println(++c); // 4
自减: – 在前为先减再用,-- 在后为先用后减
int a = 3;
System.out.println(a--); // 3
int b = 3;
b--;
System.out.println(b); // 2
int c = 3;
System.out.println(--c); // 2
3.2 赋值运算符
int a = 100; 将 100 赋给 a int a = b; 将 b 的值赋给 a
变体
运算符 |
表达式 |
对应表达式 |
---|---|---|
+= |
x += y |
x = x + y |
-= |
x -= y |
x = x - y |
*= |
x *= y |
x = x * y |
/= |
x /= y |
x = x / y |
%= |
x %= y |
x = x % y |
3.3 逻辑运算符
运算符 |
名称 |
说明 |
---|---|---|
&& |
短路与 |
两边同时为 true 时结果为 true, 否则结果为 false |
& |
逻辑与 |
同短路与 |
|| |
短路或 |
两边同时为 false 时结果为 false, 否则结果为 true |
| |
逻辑或 |
同短路或 |
! |
非 |
取反 |
^ |
异或 |
两边相同结果为 true,两边不同结果为 false |
&& 当左边为 true 时,不会去判断右边,直接返回 true,而 & 两边都要判断。( || 与 | 类似)
3.4 比较运算符
运算符 |
名称 |
---|---|
> |
大于 |
>= |
大于或等于 |
< |
小于 |
<= |
小于或等于 |
== |
等于 |
!= |
不等于 |
3.5 三元运算符
语法
// 表达式为 true 时,返回 值1,表达式值为 false 时,返回 值2
表达式 ? 值1 : 值2; // System.out.println(2 > 3 ? "真" : "假"); ⇨ 假
3.6 运算符的优先级
优先级从上至下依次递减。同等优先级从左至右运算
参考文档 JDK 1.8 API
- WCF技术剖析之十七:消息(Message)详解(中篇)
- flash游戏引擎整理
- [Silverlight动画]转向行为 - 群落
- [Silverlight动画]转向行为 - 路径跟随
- [Silverlight动画]转向行为 - 漫游行为
- [Silverlight动画]转向行为 - 对象回避
- [mobile开发碎碎念]手机页面上显示PDF文件
- Windows Server 2008 R2 配置AD(Active Directory)域控制器
- ios开发基础知识 - 2
- ios开发基础知识 - 1
- 为UINavigationBar添加自定义背景
- UIScrollView无法响应touches的解决方法
- WCF技术剖析之十七:消息(Message)详解(下篇)
- UITextView自动滚动的解决方案
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释