------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
Java语言基础组成
包括:一、关键字
二、标识符
三、常量
四、变量
五、运算符
一 、关键字:
定义:被java赋予了特殊含义的单词
特点:关键字中所有字母都为小写
类型:
定义数据类型
整数类型:byte,shrot,int,long; 浮点数:float(单精度),double(双精度)
字符型:char 布尔型:boolean
引用数据类型:class(类),interface(接口)
void用于函数上表示无返回值类型
定义数据类型值:true(真),false(假),null(空)
定义流程控制
判断:if,else,switch,case,default
循环:while,do,for
继续循环:continue 结束循环和选择:break
返回:return
定义访问权限修饰符:private(私有的),protected(受保护的),public(公开的)
定义类,函数,变量: abstract(抽象的) final(最终的) static(静态的) synchronized(同步的) enum(枚举)
定义类与类之间关系: extends(继承),implements(实现)
定义建立实例及引用实例、判断实例:new(建立实例) this(当前引用) super(父类引用) instanceof(判断对象类型)
用于异常处理 :try(检查异常) catch(捕获异常) finally(最终执行)
用于包:package(创建包) import(导入包)
二 、标识符:
定义:在程序中自定义的一些名称
格式:由26个英文字母大小写,数字0-9,符号:_ $ 组成
规则:1.数字不可以开头;2不可以使用关键字
注意:1.Java严格区分大小写;2在起名字时,为了提高阅读性,尽量取有意义的名字
特殊名称main:它不是关键字,在编译器中无颜色,但却是虚拟机识别的
Java中的名称规范
·包名:多单词组成时所有字母都小写(xxxyyyzzz)
·类名接口名:多单词组成时,所有单词的首字母大写(XxxYyyZzz)
·变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写(xxxYyyZzz)
·常量名:所有字母大写,多单词时每个单词用下划线连接(xxx_yyy_zzz)
三、常量
常量
定义:不能改变的数值,固定的值
分类:
·整数常量:所有整数
表现形式:
十进制:0-9,满10进1。
二进制:0-1,慢2进1.
八进制:0-7,满8进1,用0开头。
十六进制;0-9,A-F,满16进1,用0x开头;
进制转换:
二进制与十进制的转换:
a十进制—》二进制;对十进制除2运算
b二进制—》十进制:对二进制乘2运算
八进制十六进制与十进制的转换:
a通通以二进制为过渡,再转换为想要的进制
负数二进制转换:
a非二进制取反+1
正数的最高位是0,负数的最高位是1
·小数常量:所有小数
·布尔型常量:true,false
·字符常量:将一个数字字母或者符号用单引号(’ ’)标识
如:’ 4’ / ‘d’
·字符串常量:将一个或者多个字符用双引号(” ”)标识
如:” a” / ” abd” / “ ”
·null常量:只有一个数值就是 null
四、变量
定义:将不确定的数据进行存储,需要在内存开辟一个空间
概念:开辟空间就是通过明确数据类型,变量名称,数据来完成的
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
定义变量的格式:数据类型 变量名 = 初始化值
public class T{
public static void main(String[] args){
//定义各种数据类型
//整数型
//字节型
byte a1 = 127;//byte a = 128; 编译时会提示错误,原因是byte取值范围是:-128 - 127
//短整型
short b = 2;
//默认整数型
int c = 3;
//长整型
long d = 11111l;
//浮点型
//单精度浮点型
float e = 2.334F; //在末尾处添加大写或小写的F、f,,否则会报错
//双精度浮点型,默认的浮点型
double f = 2.1;
//字符型
char ch = 'a';
char ch1 = ' ';//可以有空格
//布尔类型
boolean g = true;
boolean h = false;
/*
* 什么时候需要定义变量?
* :当数据不确定时,需要对数据进行存储时,就定义一个变量来完成存储动作。
*
*/
}
}
类型转换
1自动提升类型等级:低等往高等转化,byte变成int
byte b = 3; b = b + 2;
2强制类型转换:
byte b = 3; b = (byte)(b + 2);
注意:类型转换常用于将小数转换为正数
特殊类型转换:
System.out.println(‘a’ + 1); 结果为 98
原因:由于ASCII码的存在,将字符用数字代替,由于数据类型自动提升得到97+1,结果得到整数的98
System.out.println(char(‘a’ + 1))结果为 ‘b’
原因:强制转化为char字符类型
五、运算符
1.算术运算符
注意:
% 取模 指的是取余数。当%左边是负数时,结果为负数,在右边不看。
2.转义字符
定义:通过 \ 来转变后面字母或者字符的含义
\n :换行
\b:退格 (相当于backspace键)
\r:按下回车键(windows中的回车符由两个字符表示,\r\n)
\t:制表符 (相当于tab键)
3.赋值和比较运算
赋值运算符:+=,-=,*=,/=,%=
意义:a+=5; 代表了a=a+5; 其余类比。
思考题: short a = 4;------①
s = s + 2;--------②
s+=2;-------------③
有什么区别?答:编译②时会报错,编译③时不会报错
区别在于:②中执行了两步,将s+2后提升的int类型值赋给短整型的s出现错误。
③中执行了一步,自动将s+2转化成短整型再赋值
4.比较运算符
注意:比较运算符结果都是boolean型,要么是true,要么是false;
比较运算符“==”,不能误写成“=”
5.逻辑运算符
逻辑运算符用于连接boolean类型的表达式
&(与):只要有一边是false,结果都是false;只有两边都是true,结果才是true;
|(或):只要两边有一边是ture,结果都是true;只有两边都是false,结果才是false;
^(异或):两边都相同,结果为false;两边不同,结果为true;
补充:一个数异或同一个数两次,结果还是那个数。(加密思维)
!(非):否定
&&(短路):当左边为false时,右边不运算,直接给出结果false;当左边为true时,右边仍需要运算,结果与单&一样
||(短路);当左边为true时,右边不运算,结果为ture;
6.位运算符
<< :将左边数字乘以2的移动位数次幂
>> :将左边数字处以2的移动位数次幂;最高位补什么由原有数据的最高位值而定,如果最高位为0,右移后用0补位如果最高位为1,右移后用1补位
>>> :无论最高位都用0补空位
补充:最快的运算是位运算!不足:只能以2的倍数增长。
注意:在位运算中,1代表true,0代表false;
&:将两边的数字化为二进制计算,按照&(与)的逻辑运算
|:将两边数字化为二进制计算,按照|(或)的逻辑运算
~:将数字化为二进制,再取反。
7三元运算符
格式:(条件表达式)?表达式1:表达式2;
a如果表达式为ture,则结果为表达式1;
b如果表示为false,则结果为表达式2;
如:
int x = 4;
y = (x>3)? 99 : 88;
结果:明显4>3为true,所以y=99;
补充图标:运算符优先等级表
运算符练习题之一:互换两个一位数的值