第二天---java的基础语法
一、关键字和保留字
辅助编码工具:这里你可以使用notepad++ 或者使用editplus都是可以的,这个在百度上很容易就能找到并下载安装,不在多说了。

我们是可以知道在一个文件夹里面新建一个文件,要以java为结尾直接用editplus去编译程序的。
1、关键字
定义:被java语言赋予了特殊的含义,用做专门用途的字符串(单词)
如下图我们用editplus去编译程序的时候,哪些高亮显示的蓝色字体就是关键字

关键字中所有的字符都是小写,下面是常用的一些关键字
| 用于定义数据类型的关键字 |
class、interface、enum、byte、short、int、long、float、 double、char、boolean、void |
| 用于定义流程控制的关键字 | if、else、switch、case、default、while、do、for、break、continue、return |
| 用于定义访问权限修饰的关键字 | private、protected、public |
| 用于定义类,函数,变量修饰的关键字 | abstract、final、static、synchronized |
| 用于定义类与类之间关系的关键字 | extends、implements |
| 用于定义建立实例及引用实例,判断实例的关键字 | new、this、super、throw、throws |
| 用于异常处理的关键字 |
native、strictfp、transient、colatile、assert |
| 用于包的关键字 |
package、import |
| 其他修饰符关键字 | native、strictfp、transient、volatile、assert |
| 用于定义数据类型值的字面值 | true、false、null |
2、保留字
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用,自己命名标识符时要避免使用这些保留字 如”:goto ‘、const
二、标识符
1、标识符定义:是指在过程中,我们自己定义内容,比如类的名字,方法的名字和变量的名字等等,都是标识符
定义合法标识符的规则:a、标识符是名称的意思,所有的名字都统称为标识符
b、Java中经常要定义类,方法,变量等。在定义的时候需要给它们取名字,这些名字就是标识符
c、只有字母(区分大小写)下划线(_),美元符号,和数字组成,长度不受限制。
d、第一个字母不能是数字,不能是数字开头
e、不能是关键字
f、不能true,flase,null(尽管三各都不是关键字,而是常量标识)
2、Java中的名称命令规范:
包名:多单词组成时所有字母都是小写:xxxyyyzzz
类名,接口名:多单词组成时,第一个单词首字母小写,第二个单词开始每个
单词首字母大写:xxxYyyZzz
常量名:所有字母都是大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
3、注意见名知意,驼峰命名法,尽量不要用拼音

三、变量
1、变量概念
变量:常量是固定不变的数据,那么在程序中可以改变的量称为变量
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。


2、Java基础数据类型
字节的概念:
字节是我们常见的计算机存储单元,计算机存储任何数据,都是以字节的形式存储
8个bit(二进制位) 0000-0000表示位1个字节,写成1byte或者1 B
8 bit = 1B(字节)
1024B = 1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
Java的计算数据类型
基本数据类型:4类8种
布尔类型:boolean ,数值只有2个:true ,false
字符类型:char,2个字节(16位)
整数类型:
byte,字节,1个字节(8bit)
short,短整型,2个字节(32bit)
int,整型,(默认类型),4字节(32bit)
long,长整型,加L或1,8个字节(64bit)
基本数据类型是Java语言中内置的类型,整数类型,小 数类型,字符类型,布尔类型这四类是最基本的类型

3、变量定义
变量:计算机内存中一块存储空间,是存储数据的基本单元
语法:
变量包括三要素:数据类型,变量名,数据值
数据类型 变量名 = 变量值
示例:
public class Demo_var
{
public static void main(String[] args){
//定义一个变量;数据类型 变量名 = 数据的值
//整数类型
System.out.println("------------整数类型-------------");
byte byteNum = 123;
System.out.println("改变之前bytenNum:"+byteNum);
byteNum = 23; //存放的数据的值在变化
System.out.println("改变之后byteNum:"+byteNum);
short shortNum = 200;
System.out.println("shortNum:"+shortNum);
int iNum = 1000;
long lNum = 20000l;//long 类型的数据记得再后面加上L或者l,注意的是小L像一,不建议使用小L;
System.out.println("lNUm:"+lNum);
System.out.println("------------浮点类型--------------");
float fNum = 2.3F;//生明float类型的时候,记得加上小f或者大F
double dNum = 3.45;
System.out.println("fNum:"+fNum);
System.out.println("dNum:"+dNum);
System.out.println("------------字符类型--------------");
char c = 'c';
System.out.println("c:"+c);
System.out.println("-------------布尔类型---------------");
boolean b = true;
System.out.println("b:"+b);
}
}
说明一下:
a、Java里面的变量必须先声明在使用
b、使用变量名来访问这块区域的数据
c、变量的作用域:其定义所在的一dui{}内
d、变量只有在其作用域里面在有效
e、同一个作用域里面不能定义重名的变量

4、字符类型
ASCll(American Standard Code Information Interchange),美国标准信息交换码


Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或者其他书面语的一个字符
中文不一定都是2个字节,需要看它是用什么编码方式了
* Unicode中每个字符都对应一个二进制整数,可以使用多种方式赋值
* 字符赋值: char c1 = ‘A’; (通过藐视为字符赋值)
* 整数赋值:char c2 = 65; (通过十进制数65在字符集中对应的字符赋值)
* 进制赋值:char c3 = *\u0041*; (通过是十六进制41在字符集中所对应的字符赋值)
示例:

class Demo_Char { public static void main(String[] args) { char c = 'c'; char c2 = 'A'; System.out.println("c2:" +c2); //转义字符 System.out.println("------------------转义字符-------------"); System.out.println("\"hello,world!!\""); System.out.println("\"hello,\nworld!!\"");//\n转义字符换行 System.out.println("\"hello,\tworld!!\"");//\t转义字符,一个制表符 } }
5、基础数据类型的转换
Java允许程序员在一定程度上进行数据类型转换。
8种基本数据类型:
7种数值类型可以参加转换:byte,short,char,int,float,double(boolean不参见)。
显示转换
显示转换(强制转换):取值范围大的转为为取值范围小的
小范围数据类型 变量 = (小范围数据类型 变量)大范围数据类型
int n = (int)6.7;
语法结构:(要转换的类型)数值
隐式转换
隐式转换(自动转换):取值范围小的转为取值范围大的
大范围数据类型 变量 = 小范围的数据类型;
double d = 10000;
数据范围从大到小;
double >float>long>int>short>byte
示例
class Demo_Type { public static void main(String[] args) { //隐式的数据类型转换 byte byteNum = 23; int intNum = byteNum;//将一个byte类型的数据赋值给int类型的变量 System.out.println("intNum:"+intNum); int i = 345; double d = i; System.out.println("d:"+d); //显示转换 double doubleNum =3.45; int iNum = (int)doubleNum;//发生了精度丢失 System.out.println("iNum:"+iNum); int num = 23; //如果是129 那么会发生数据溢出,但是如果是23那么久是正常的23这个结果了 byte bNum = (byte)num; System.out.println("bNum:"+bNum);//会发现结果是-127 这是因为发生了数据溢出 char c = 'c'; int cNum = (int)c;//因为char是可以转换为数字的ASCII中小写的c刚好是99 System.out.println("bNum:"+cNum); long L1 = 345L;//如果加L的话那么它会通过隐式类型转换在转换为int类型的 } }
四、运算符
1、算术运算符
+ , - , *, / , % , ++, --

自增自减运算
++: 自增1
--: 自减1
i++ 和++i
变量在独立运算时,前++和后++没有区别
和其他变量放在一起,前++和后++就产生了不同
* i++ 给i加1,但是i++的值时i本身。(先计算,后加1)
* ++i 给i加1,但是++i的值是i+1了。(先加1,后计算)
示例
class Demo_Arithnetic { public static void main(String[] args) { int a = 12; int b = 3; int result = a + b; System.out.println("a+b="+result); result = a - b; System.out.println("a-b="+result); result = a * b; System.out.println("a*b="+result); //除法 a = 10; b = 3; result = a/b;//取商 System.out.println("a/b="+result); result = a%b;//取余 System.out.println("a%b="+result); //++,-- System.out.println("------------------------"); int n = 10; n++;//相当于m=m+1; System.out.println("n:"+n); n--;//相当于m=m-1;//单独使用的时候--在前和在后没有什么区别 System.out.println("n:"+n); // System.out.println("-------------------------"); int x = 2; int y = 3; int res = (x++)-(++x);//3-4 理论上应该是-2 System.out.println("x:"+x);//4//如果++在后面那么是那x先运算在++ 当++在前的时候先自增在运算 System.out.print("res:"+res);//-2 } }
2、赋值运算符
= 赋值:=右边的数据,赋值给=左边的变量
+=,-=,*=,/=,%=
a += b // a = a+b
示例
class Demo_assin { public static void main(String[] args) { int a = 23; //+=, -=, *=, /= a +=2; System.out.println("a:"+a); // a -= 10;//相当于a = a-10; System.out.println("a:"+a); a *= 2;//相当于a=a*2; System.out.println("a:"+a); a /=2;//相当于a = a/2; System.out.println("a:"+a); a %= 2;//相当于a = a%2; System.out.println("a:"+a); } }

3、关系运算符(比较运算符)
用于比较两个数的关系,结果boolean类型的
>,<,>=,<=,==,!=
==: 判断两个数是否相等
==,和=的区别
=:赋值运算符
==:比较数值是否相等
!=:判断两个数是否不相等
示例:
class Demo_compare { public static void main(String[] args) { int a = 23; int b = 12; System.out.println("a>b:"+(a>b)); System.out.println("a<b:"+(a<b)); System.out.println("a>=b:"+(a>=b)); System.out.println("a<=b:"+(a<=b)); System.out.println("a==b:"+(a==b)); System.out.println("a!=b:"+(a!=b)); } }

4、逻辑运算符(重点)
操作数是boolean类型,结果是boolean类型
&: 与操作
规则: 操作数都是true,结果才是true,有一个是false就是false
一假则假,全假才真
|:或操作
规则:操作数都是false,结果才是false,有一个是true,就是true
一真则真,全假才假
^:异或:异表示不同
规则:两个操作数,相同才假,不同为真。
!:取非,取反
规则:!T-->F, !F-->T
&&:短路与
规则:遇到一个false就直接返回结果为false,后面的不在参见计算了
||:短路或
规则:遇到一个true就直接返回结果为true,后面的不在计算了
示例
class Demo_logic { public static void main(String[] args) { boolean b1 = true; boolean b2 = false; boolean b3 = true; //1,&:全真才真,一假则假 boolean result = b1 & b2; System.out.println("result:"+result); //2,|:一真则真,全假则假 result = b1 | b2; System.out.println("result:"+result); //3,!:取反 result = !b1; System.out.println("result:"+result); System.out.println("-----------短路与和短路或-----------"); //&&:短路与是只要遇到false;立马返回false;后面的不在计算 int a = 12; int b = 23; result = (a++<10)&&(b++>20); System.out.println("a:"+a); System.out.println("b:"+b); System.out.println("result:"+result); //||:短路或是只要遇到true;立马范围true,后面的不在计算 a = 12; b = 23; result = (a++<10)||(b++>20); System.out.println("a:"+a); System.out.println("b:"+b); System.out.println("result:"+result); } }


浙公网安备 33010602011771号