在初识Java阶段,基础的知识就是掌握好Java语言的简易规则,今天就先来介绍数据类型及其运算符。
一、Java中的四种变量
- 属性
实例变量 - 静态属性
类变量 - 局部变量
- 参数
二、如何定义变量
数据类型+变量名(identifier)
- 定义变量后直接+分号 ——定义变量未初始化 (int a;)
- 定义变量 = value —— 定义变量且进行初始化 (int a = 100)
三、命名变量名(类名、方法名)
(一)、规则(必须遵守,否则报错)
- 必须以字母(包括中文)、下划线、美元符$ 开头
- 包含之后的部分可以是字母、下划线、美元符、数字
- 变量名的长度理论上是可以无限长的
- 变量名不可以与关键字冲突
- 大小写敏感
(二)、规范(尽量遵守,认可度高)
- 永远不要用美元符和下划线命名
- 永远使用有意义的名字作为变量名包括缩写
- 不要用中文以及拼音命名
- 类名称 ——单个单词的首字母都大写。比如:HelloWorldApp
- 方法名称 ——单个单词,除第一个单词以外,首字母大写。比如:helloWorldApp
- 常量(不可修改)——每个单词都大写,用下划线分割。比如:final int COUNT_OF_COURSES =100
- 类名称 和 变量名称 一般用名词;方法名称一般用动词
四、数据类型
(一)、基本数据类型
这里附上两张图可以更直观的了解基本的数据类型。
附加说明:char 类型里面保存的不是一个ASCII编码,而是一个Unicode编码;在字符编码标准中:ASCII(2字节 7位表示) 而Unicode(4字节)
(二)、引用数据类型(reference data type)
(三)、字面量
- 整型的字面量
100 (int )
100L (long)
进制表示:
十进制 100 100L
十六进制 0xFF 0xFFL
二进制 0b010 0b101L
不同类型变量赋值
100 (int 型的字面量) byte a = 233(不截断,报错) short (保证存的下的情况不报错)
100L(long 类型的字面量) int a =100L;(不可赋值,报错) - 浮点型的字面量
1.0 (double)
1.0F (float)
double a = 1.0F //没问题
float b = 1.0 //有问题,不允许
里氏转换原则:需要一个大范围的变量,放一个小范围的变量是自然而然允许的
强制类型转换:
long a = 100L;
int b = (int)a;
使用()进行强制类型转换是允许将不同类型的变量相互赋值的。 - Boolean字面量 ture false
- char以及string 类型(字符和字符串)
char c = ‘中’; //单引号
char c = ‘u4e2d’ //用 Unicode 转义序列
String s = “中国”; //用双引号
String 的加法运算
String a = “我爱”; String b = “中国”; a+b结果 我爱中国
五、运算符
- 赋值运算符 = (其中常量的值不可以被修改)
- 算术运算符
+ - * /(向下取整) %(求余数)
- 一元运算符
++ -- !(逻辑取反) ++i i++
这里需要注意,与C语言不同的是:逻辑取反只能用于Boolean类型
- 比较运算符
== != >= <= > <
- 条件运算符
&& || ?:
短路特性:
表达式1 && 表达式2 其中如果表达式1为假则不执行表达式2
表达式1 || 表达式2 其中如果表达式1为真则不执行表达式2
- 位运算符
~ (按位取反) &(按位与) |(按位或) ^ (按位异或)
- 位移运算符
<< >> >>>
其中 >>为带符号右移;>>>为不带符号右移
- 类型判断运算符 ( instanceof )
对象 instanceof 类型(类) == true | false
用来判断一个对象是否属于一个类,返回值为ture或为false