概述
关键字和保留字
关键字(keyword)
- 定义:被Java语言赋予了特殊含义,用作专门用途的字符串。
- 特点:关键字中所有字母都为小写。
- 官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
保留字
- Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要注意避免使用。 goto、const
标识符
- Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
- 凡是自己起名的地方都叫标识符。
- 定义合法标识符规则(严格遵守):
- 由26个英文字母大小写,0-9,_ 或 $ 组成。
- 数字不可以开头。
- 不可以使用关键字或者保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。
- Java中的名称命名规范(建议遵守):
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
变量
- 变量的概念
1. 内存中的一个存储空间
2. 该区域的数据可以在同一类型范围内不断变化
3. 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。
- 变量的作用
用于在内存中保存数据
- 使用变量注意
- Java中每个变量必须先声明,后使用
- 使用变量名来访问这块区域中的数据
- 变量的作用域:其定义所在的一对{}内
- 变量只有在其作用域中才有效
- 同一个作用域内,不能定义重名的变量
- 声明变量:
- 语法:<数据类型> <变量名称>
- 例如:int var;
- 变量的赋值
- 语法:<变量名称> = <值>
- 例如: var=10;
- 声明与变量赋值
- 语法:<数据类型> <变量名称> = <值>
- 例如:int var=10;
- Java定义的数据类型
基本数据类型
- 数值型:整型:byte(-128~127) short int long (必须以“l”或者“L”结尾)
浮点型:float(必须以“f”或者“F”结尾) double - 字符型:char(2字节)
表示方式:1)只能写一个、2)转义字符、 3)直接用Unicode值来表示字符型常量。
b 退格符
n 换行符
r 回车符
t 制表符
'' 双引号
' 单引号
\ 反斜线
- 布尔型:boolean
引用数据类型
- 类 :class(包含字符串)
- 接口:interface
- 数组:[]
- 基本数据类型之间的运算规则:
前提:不包含Boolean类型
-
自动类型提升
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。(容量大小指数的范围大小)
byte、char、short -->int --> long -->float -->double
当byte、char、short三种类型变量运算时结果为int类型
-
强制类型转换:
- 需要使用强转符:()。
- 注意点:强制类型转换,可能导致精度缺失。
运算符
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
-
位运算符
位运算符是直接对整数的二进制进行的运算。
左移:在一定范围内,每向左移一位,相当于*2右移:在一定范围内,每向右移一位,相当于/2
面试题:最搞笑的计算2*8=? 2<<3 或 8<<1
位运算符的细节
<< 空位补0,被移除的高位丢弃,空缺位补0。
>> 被移位的二进制最高位是0,右移后,空缺位补0;
最高位是1,空缺位补1。
>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补。
& 二进制位进行&运算,只有1&1时结果是1,否则是0;
| 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
^ 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0
不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
~ 正数取反,各二进制码按补码各位取反
负数取反,各二进制码按补码各位取反
思考题:变换两个数的值?
- 定义临时变量
- a=a+b b=a-b a=a-b
- 使用位运算符(原理:aba=b) a=a^b b=a^b a=a^b
-
三元运算符
- 条件表达式):表达式1:表达式2;
- 条件表达式为true,运算后的结果为表达式1;
- 条件表达式为false,运算后的结果为表达式2;
表达式1和表达式2为同种类型
-
三元表达式与if-else区别
-
三元元素安抚可以简化if-else语句
-
三元运算符要求必须返回一个结果
-
if后的代码块可以有多个语句
-
程序流程控制
- 顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转。 - 分支结构
- 根据循环条件,重复的执行某段代码
- 有 while、do…while、for三种循环语句
- 注:JDK1.5提供了foreach循环,方便了遍历集合、数组元素
- 循环结构
- 根据循环条件,重复的执行某段代码
- 有 while、do…while、for三种循环语句
- 注:JDK1.5提供了foreach循环,方便了遍历集合、数组元素。
- 如何从键盘获取不同类型的变量:需要Scanner类
- 导包:inport java.util.Scanner;
- Scanner的实例化:Scanner scan = new Scanner(System.in);
- 调用Scanner类的相关方法(next() / nextXXX() ),来获取指定类型的变量。(没有提供获取char型的方法 )
- 不在循环条件部分限制次数的结构:for( ; ; ) 或 while(true)
- continue break 关键字后不可以加语句。
- 带标签的continue break 关键字: 在想进行break/continue跳出的循环结构前加标签,在循环体后的break/continue中标签。
label: for(...){
......
break/continue label;// 结束指定标识的循环
}
关于进制
-
对于整数,有四种表示方式:
二进制:0,1 ,满2进1.以0b或0B开头。十进制:0-9 ,满10进1。
八进制:0-7 ,满8进1. 以数字0开头表示。
十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。
-
二进制
-
正数:原码,反码,补码一致
-
负数:原码:正数符号位为1
-
反码:原码除了符号位按位取反
-
补码:反码加1
-
计算机底层都以补码的方式来存储数据!
-
十进制转换为二进制:除二取余的逆
-
二进制转换为八进制:三个数字为一位
二进制转换为十六进制:4个数字为一位
最后
以上就是拉长钢笔为你收集整理的Java基础学习——Day03的全部内容,希望文章能够帮你解决Java基础学习——Day03所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复