腾讯3分彩平台客服_Java匹马行天下之JavaSE核心技术——Java基础语法
- 时间:
- 浏览:0
- 来源:小飞娱乐网_提供小欧娱乐网技术_小K娱乐网资讯
一、基础语法规则
1、变量
1.1、变量的概述
用于存储可变数据的容器。
1.2、变量的特点
- 须要要有大小
- 存储一定格式的可变数据
- 须要要有名字
1.3、变量的声明和赋值
数据类型 变量名 = 值
2、常量
2.1、常量的概述
常量是占据 多多线程 运行过程中其值不到改变的量。
2.2、常量的类型
Java中常量的分类:
整数常量 : 所有整数
小数常量 : 所有小数
布尔常量 : 不到true和false
字符常量 :使用’’引起来的单个字符
字符串常量 :使用“”引起来的字符序列,“” 、“a” 、” ”
null常量 : 不到有有俩个多值null
3、标识符
3.1、哪几个是标识符
什么都有有多多线程 员在定义java多多线程 时,自定义的一些名字,同类于helloworld 多多线程 里关键字class 后跟的Demo,什么都有有我们我们我们我们我们我们我们我们 定义的类名。类名就属于标识符的三种。
标识符除了应用在类名上,还能还能否 用在变量、函数名、包名上。
3.2、标识符的规则
- 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
- 不到以数字开头,不到是关键字
- 严格区分大小写
- 标识符能还能否 为任意长度
3.3、标识符命名规范
- 1. 包名
多个单词组成时所有字母小写(例:package com.itcast)
- 2. 类名和接口
多个单词组成时所有单词的首字母大写(例:HelloWorld)
- 3. 变量名和函数名
多个单词组成时第有有俩个多单词首字母小写,一些单词首字母大写(例:lastAccessTime、getTime)。
- 4. 常量名
多个单词组成时,字母删改大写,多个单词之间使用_分隔(例:INTEGER_CACHE)
注意:什么都有有为了增加规范性、可读性而做的三种约定,标识符在定义的完后 最 好见名知意,提高代码阅读性。
4、注释
4.1、注释的作用
通过注释提高多多线程 的可读性,是java多多线程 的条理更加清晰,易于区分代码行与注释行。另外通常在多多线程 开头加入作者,时间,版本,要实现的功能等内容注释,方便随后的维护以及多多线程 员的交流。
4.2、注释的种类
单行注释(line comment)
用//表示,编译器看过//会忽略该行//后的所文本
多行注释(block comment)
用/**/表示,编译器看过/*前会搜索接下来的*/,忽略掉/**/之间的文本。
文档注释
用/** */表示,是java特有的注释,其中注释内容能还能否 被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该多多线程 的说明文档。
文档注释 (编写软件说明书)
- 须要使用sum给我们我们我们我们我们我们我们我们 提供的javadoc工具生成有有俩个多html的说明文档。
- 不到抽取public的属性肯能辦法 内容。
如保生成软件说明书:
javadoc 工具软件识别以下标签:
@author 作者
@version 版本
@param 辦法 的参数
@return 返回值
注释的使用细节:
三种注释能还能否 老出在多多线程 的任何地方,假如有一天不推荐找任意位置。
1. 编程习惯:
1. 给哪条得话进行说明,注释应该写在该得话的旁边。
2. 单行注释一般写在得话的里面多行注释和文档注释一般写在得话的里面
注意:文档注释不到老出在类、属性、辦法 的里面。
5、运算符
计算机的最基本用途之一什么都有有执行数学运算,作为一门计算机语言,Java也提供了一套富足的运算符来操纵变量。我们我们我们我们我们我们我们我们 能还能否 把运算符分成以下几组:
算术运算符
关系运算符
运算符 |
运算 |
例子 |
结果 |
== |
相等于 |
4= =3 |
false |
!= |
不等于 |
4!= 3 |
true |
< |
小于 |
4 < 3 |
flase |
> |
大于 |
4>3 |
true |
<= |
小于等于 |
4<=3 |
false |
>= |
大于等于 |
4>=3 |
true |
Instanceof |
检查是是不是类的对象 |
"hello"instanceof String |
true |
位运算符
位运算符 |
运算符含义 |
& |
与(AND) |
| |
或(OR) |
^ |
异或 |
~ |
取反 |
逻辑运算符
赋值运算符
- = , +=, -=, *=, /=, %=
运算符 |
运算 |
范例 |
结果 |
= |
赋值 |
a=3,b=2 |
a=3,b=2 |
+= |
加等于 |
a=3,b=3;a+=b; |
a=5,b=2; |
-= |
减等于 |
a=3,b=2,a-=b; |
a=1,b=2; |
*= |
乘等于 |
a=3,b=2,a*=b; |
a=6,b=2 |
/= |
除等于 |
a=3,b=2,a/=b; |
a=1,b=2; |
%= |
模等于 |
a=3,b=2,a%=b; |
a=1,b=2 |
一些运算符
三元运算符
格式
(条件表达式)?表达式1:表达式2;
肯能条件为true,运算后的结果是表达式1;
肯能条件为false,运算后的结果是表达式2;
示例:
1获取有有俩个多数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的什么都有有有有俩个多数的大数。
int x = 1; int y = 2; int z; z = x > y ? x : y; System.out.println(z); //2 |
2判断有有俩个多数是奇数还是偶数。
int x=5; System.out.println((x%2==0?"偶数":"奇数")); |
运算符的优先级与结合性
6、数据类型
Java 基本数据类型
变量什么都有有申请内存来存储值。也什么都有有说,当创建变量的完后 ,须要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间不到用来储存该类型数据。
假如有一天,通过定义不同类于型的变量,能还能否 在内存中储存整数、小数肯能字符。
Java 的两大数据类型:
- 内置数据类型
- 引用数据类型
详见https://www.cnblogs.com/zyx110/p/10621799.html
数据类型转换
整型、实型(常量)、字符型数据能还能否 混合运算。运算中,不同类于型的数据先转化为同一类型,假如有一天进行运算。
转换从低级到高级:
低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double |
数据类型转换须要满足如下规则:
- 不到对boolean类型进行类型转换;
- 不到把对象类型转加上不相关类的对象;
- 在把容量大的类型转换为容量小的类型时须要使用强制类型转换;
- 转换过程中肯能原应 溢出或损失精度;
自动类型转换(也叫隐式类型转换)
要实现自动类型的转换,须要满足有有俩个多条件:
第一三种类型彼此兼容
第二目标类型取值范围须要大于源类型。
所有的数字类型,包括整形和浮点型彼此都能还能否 进行转换。
强制类型转换(也叫显式类型转换)
当三种类型彼此不兼容,肯能目标类型取值范围小于源类型(目标是byte源是int)
无法自动转换,此时就须要进行强制类型转换。
强制类型转换须要注意:
损失精度!!!
类型转换的原理
能还能否 把byte 理解为1两的碗,short 2两的碗,int 4两的碗,long 8两的碗。1两碗的满碗酒能还能否 放进去 2两 4两 8两的碗中。假如有一天 4两碗的酒放进去1两碗的酒删改前会一些问提。
哪几个完后 要用强制类型转换
比如小数主次只想保留整数主次.
一定要清楚要转换的数据在转换后数据的范围内假如有一天会损失精度.
public static void main(String[] args) { byte b = 3000; b = (byte) (b + 2); System.out.println(b); // 102 //舍弃小数主次 double d=5.5; int num=(int)d; } |
表达式的数据类型自动提升
算术表达式,逻辑表达式
所有的byte型、short型和char的值将被提升到int型。
肯能有有俩个多操作数是long型,计算结果什么都有有long型;
肯能有有俩个多操作数是float型,计算结果什么都有有float型;
肯能有有俩个多操作数是double型,计算结果什么都有有double型。
自动类型提升
byte b = 3; int x = 4; x = x + b;// b会自动提升为int 类型参与运算。 System.out.println(x);// 7 |
强制类型转换
byte b = 2; /* * 强制类型转换,强制将b+2强制转换为byte类型,再赋值给b */ b = (byte) (b + 2); System.out.println(b);// 4 |
分析 System.out.println(‘a’+1)结果?
System.out.println(‘a’+1)结果
美国人为了让计算机识别我们我们我们我们我们我们我们我们 生活中的文字,让二进制表示生活中的文字.什么都有有有有俩个多字母代表了有有俩个多二进制.,二进制删改前会十进制的表现形式.,把生活中的字母都用数字来标识,同类于97 代表a ,98 代表 b。打印’a’就把a作为输老出示,没人 问提。假如有一天 ‘a’+1 有加号涉及到了运算。根据java自动类型提升规则,同样道理 char 提升为int 。就把’a’代表的数字体现了出来。a 表示的是97 97+1什么都有有98; 没人 你要查看98 表示的char 是哪几个 如保会会 实现呢 ?就要用到刚才介绍的强制类型转换了 System.out.println(char(‘a’+1));就取到了98 在ASCII码表中表示的字符。大写A 和小写a 在 ASCII有不同的表现。还有有有俩个多概念字符’1’ 在ASCII中 删改前会数字 1,能还能否 运行代码查看,到此就能还能否 明白了char 类型,char类型也是能还能否 参与运算的,为哪几个能还能否 参与运算呢。肯能字符在ASCII表中删改前会对应的数字体现。所有的计算机兼容ASCII。
System.out.println('a'+1); //98
System.out.println((char)('a'+1)); //b
补充问提:
int i='a'+'b'; System.out.println(i);//结果? System.out.println("hello"+'j'); //结果? |
总结:
所有数值运算符都能还能否 用在char型数据上,肯能什么都有有操作数是有有俩个多数字肯能字符,没人 char会自动提升为int型,肯能什么都有有操作数是字符串,没人 字符就会和字符串相连。
7、修饰符
Java语言提供了什么都有有修饰符,主要分为以下两类:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static, synchronized
修饰符用来定义类、辦法 肯能变量,通常放进去得话的最前端。
详见https://www.cnblogs.com/zyx110/p/10621592.html
8、流程控制
分支得话
(1)if-else-if得话
语法:
if(条件){ //当条件为true时,执行大括号内的代码 }else if(条件){ } |
(2)switch-case得话
概念:
switch 得话判断有有俩个多变量与一系列值中某个值是是不是相等,每个值称为有有俩个多分支。
语法:
switch( 变量 ){ case 值1: break; case 值2: break; default: } |
当多多线程 执行到break关键字时,老出当前的switch得话;
循环得话
(1)while循环
语法:
while(条件){ //当条件为true时,执行循环体内的代码; } |
备注:
满足循环的有有俩个多条件:初始化变量、关系运算、迭代
(2)do-while循环
语法:
备注:与while循环的区别是,当条件为false时,也会被执行一次。
(3)for循环
语法:
for(int i = 0 ; i < 10 ; i++){ } |
说明:
- 最先执行初始化步骤。能还能否 声明三种类型,但可初始化有有俩个多或多个循环控制变量,还能否 还能否 是空得话。
- 假如有一天,检测布尔表达式的值。肯能为 true,循环体被执行。肯能为false,循环终止,开始执行循环体里面的得话。
- 执行一次循环后,更新循环控制变量。
- 再次检测布尔表达式。循环执行里面的过程。
(4)foreach循环
Java5 引入了三种主要用于数组的增强型 for 循环。
Java 增强 for 循环语法格式如下:
for(声明得话 : 表达式) { //代码得话 } |
声明得话:
声明新的局部变量,该变量的类型须要和数组元素的类型匹配。其作用域限定在循环得话块,其值与此时数组元素的值相等。
表达式:
表达式是要访问的数组名,肯能是返回值为数组的辦法 。
详见https://www.cnblogs.com/zyx110/p/10874544.html
9、数组
详见https://www.cnblogs.com/zyx110/p/10875379.html
10、函数
详见https://www.cnblogs.com/zyx110/p/10875379.html
11、参数
语法:
- 在辦法 名里面的括号中声明;
- 参数的个数为大于等于0;
- 写法:辦法 名(类型 变量名,类型 变量名,……){}
- 参数是当前辦法 的局部变量,是三种特殊的局部变量;
- 参数的赋值过程,是在调用该辦法 时完成的;
- 当有多个参数,调用该辦法 时,依次按照括号中的顺序为参数赋值;
- 参数的类型能还能否 为Java的任何数据类型;
12、辦法 重载
概念:重载(overloading) 是在有有俩个多类里面,辦法 名字相同,而参数不同。与返回值类型、访问修饰符无关。
规则:
- 参数的类型不同;
- 参数个数不同;
- 参数的顺序不同;
13、变量作用域
规则:
- 变量的范围是多多线程 中该变量能还能否 被引用的主次。
- 辦法 内定义的变量被称为局部变量。
- 局部变量的作用范围从声明开始,直到带有它的块开始。
- 局部变量须要声明还能否 还能否 使用。
- 辦法 的参数范围带有整个辦法 。参数实际上是有有俩个多局部变量。
- for循环的初始化主次声明的变量,其作用范围在整个循环。
- 但循环体内声明的变量其适用范围是从它声明到循环体开始。
- 能还能否 在有有俩个多辦法 里,不同的非嵌套块中多次声明有有俩个多具有相同的名称局部变量,但不到在嵌套块内两次声明局部变量。
14、源文件声明规则
当在有有俩个多源文件中定义多个类,假如有一天还有import得话和package得话时,要有点痛 注意以下规则:
- 有有俩个多源文件中不到有有有俩个多public类。
- 有有俩个多源文件能还能否 有多个非public类。
- 源文件的名称应该和public类的类名保持一致。同类于:源文件中public类的类名是Employee,没人 源文件应该命名为Employee.java。
- 肯能有有俩个多类定义在某个包中,没人 package得话应该在源文件的首行。
- 肯能源文件带有import得话,没人 应该放进去package得话和类定义之间。肯能没人 package得话,没人 import得话应该在源文件中最前面。
- import得话和package得话对源文件中定义的所有类删改前会效。在同一源文件中,不到给不同的类不同的包声明。
15、Java包
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用:
- 把功能同类于或相关的类或接口组织在同有有俩个多包中,方便类的查找和使用。
- 如同文件夹一样,包也采用了树形目录的存储辦法 。同有有俩个多包中的类名字是不同的,不同的包中的类的名字是能还能否 相同的,当一块儿调用有有俩个多不同包中相同类于名的类时,应该加上包名加以区别。假如有一天,包能还能否 防止名字冲突。
- 包也限定了访问权限,拥有包访问权限的类还能否 访问某个包中的类。
包得话的语法格式为:
package pkg1[.pkg2[.pkg3…]]; |
同类于,有有俩个多Something.java 文件它的内容
package net.java.util; public class Something{ ... } |
没人 它的路径应该是 net/java/util/Something.java 什么都有有保存的。
Package关键字:
- package(包) 的作用是把不同的 java 多多线程 分类保存,更方便的被一些 java 多多线程 调用。
- 有有俩个多包(package)能还能否 定义为一组相互联系的类型(类、接口、枚举和注释),为哪几个类型提供访问保护和命名空间管理的功能。
- Java 使用包(package)三种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
在Java中,肯能给出有有俩个多删改的限定名,包括包名、类名,没人 Java编译器就能还能否 很容易地定位到源代码肯能类。Import得话什么都有有用来提供有有俩个多合理的路径,使得编译器能还能否 找到某个类。
同类于,下面的命令行肯能命令编译器载入java_installation/java/io路径下的所有类