浙江新闻网_浙江主流媒体_浙江门户网站 -

大发uu快3注册_Java匹马行天下之JavaSE核心技术——Java基础语法

  • 时间:
  • 浏览:0

一、基础语法规则

1、变量

1.1、变量的概述             

                  用于存储可变数据的容器。

1.2、变量的特点

  1. 需要要有大小
  2. 存储一定格式的可变数据
  3. 需要要有名字

1.3、变量的声明和赋值

数据类型  变量名 = 值

2、常量

2.1、常量的概述

常量是占据 线程池池过程中其值非要改变的量。

2.2、常量的类型

Java中常量的分类:

    整数常量 : 所有整数

    小数常量 : 所有小数

    布尔常量 : 非要true和false

    字符常量 :使用’’引起来的单个字符

    字符串常量 :使用“”引起来的字符序列,“”  、“a” 、” ” 

    null常量 : 非要另另有有1个多值null

3、标识符

3.1、你这个是标识符

什么什么都那末来越线程池池池员在定义java线程池池时,自定义的有些名字,相似helloworld 线程池池里关键字class 后跟的Demo,什么什么都那末来太满大伙定义的类名。类名就属于标识符的并是不是。

标识符除了应用在类名上,还能非要用在变量、函数名、包名上。

3.2、标识符的规则

  1. 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
  2. 非要以数字开头,非就说 关键字
  3. 严格区分大小写
  4. 标识符能非要为任意长度

3.3、标识符命名规范

  1. 1.  包名

多个单词组成时所有字母小写(例:package  com.itcast)

  1. 2.  类名和接口

多个单词组成时所有单词的首字母大写(例:HelloWorld)

  1. 3.  变量名和函数名

多个单词组成时第另另有有1个多单词首字母小写,有些单词首字母大写(例:lastAccessTime、getTime)。

  1. 4.  常量名

多个单词组成时,字母全部大写,多个单词之间使用_分隔(例:INTEGER_CACHE)

注意:什么什么都那末来太满为了增加规范性、可读性而做的并是不是约定,标识符在定义的前一天最               好见名知意,提高代码阅读性。

4、注释

4.1、注释的作用

通过注释提高线程池池的可读性,是java线程池池的条理更加清晰,易于区分代码行与注释行。另外通常在线程池池开头加入作者,时间,版本,要实现的功能等内容注释,方便后来的维护以及线程池池员的交流。

4.2、注释的种类

单行注释(line comment)

用//表示,编译器看到//会忽略该行//后的所文本

多行注释(block comment)

用/**/表示,编译器看到/*一定会搜索接下来的*/,忽略掉/**/之间的文本。

文档注释

用/** */表示,是java特有的注释,其中注释内容能非要被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该线程池池的说明文档。

文档注释   (编写软件说明书)

  1. 需要使用sum给大伙提供的javadoc工具生成另另有有1个多html的说明文档。
  2. 非要抽取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获取另另有有1个多数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//z变量存储的什么什么都那末来太满另另有有1个多数的大数。

int x = 1;

       int y = 2;

       int z;

       z = x > y ? x : y;

       System.out.println(z); //2

2判断另另有有1个多数是奇数还是偶数。

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类型进行类型转换;
  • 非要把对象类型转加带不相关类的对象;
  • 在把容量大的类型转换为容量小的类型需要要使用强制类型转换;
  • 转换过程中是因为着是因为溢出或损失精度;

自动类型转换(也叫隐式类型转换)

要实现自动类型的转换,需要满足另另有有1个多条件:

第一并是不是类型彼此兼容

第二目标类型取值范围需要大于源类型。

所有的数字类型,包括整形和浮点型彼此都能非要进行转换。

强制类型转换(也叫显式类型转换)

当并是不是类型彼此不兼容,是因为着目标类型取值范围小于源类型(目标是byte源是int)

无法自动转换,此时就需要进行强制类型转换。

强制类型转换需要注意:

   损失精度!!!

类型转换的原理

能非要把byte 理解为1两的碗,short 2两的碗,int 4两的碗,long 8两的碗。1两碗的满碗酒能非要倒进 2两 4两 8两的碗中。怎么能让 4两碗的酒倒进1两碗的酒一定会有些问题报告 报告 。

你这个前一天要用强制类型转换

   比如小数次责只想保留整数次责.

   一定要清楚要转换的数据在转换后数据的范围内怎么能让会损失精度.

public static void main(String[] args) {

       byte b = 50;

       b = (byte) (b + 2);

       System.out.println(b); // 102

        //舍弃小数次责

        double d=5.5;

       int num=(int)d;

}

表达式的数据类型自动提升

算术表达式,逻辑表达式                               

所有的byte型、short型和char的值将被提升到int型。

是因为着另另有有1个多操作数是long型,计算结果什么什么都那末来太满long型;

是因为着另另有有1个多操作数是float型,计算结果什么什么都那末来太满float型;

是因为着另另有有1个多操作数是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)结果

美国人为了让计算机识别大伙生活中的文字,让二进制表示生活中的文字.什么什么都那末来太满另另有有1个多字母代表了另另有有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个多概念字符’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型数据上,是因为着什么什么都那末来太满操作数是另另有有1个多数字是因为着字符,什么什么都那末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 励志的话 判断另另有有1个多变量与一系列值中某个值是不是相等,每个值称为另另有有1个多分支。

语法:

switch( 变量 ){

case 值1:

    break;

case 值2:

    break;

default:

}

当线程池池执行到break关键字时,出現当前的switch励志的话 ;

循环励志的话

(1)while循环

语法:

while(条件){

//当条件为true时,执行循环体内的代码;

}

备注:

满足循环的另另有有1个多条件:初始化变量、关系运算、迭代

(2)do-while循环

语法:

备注:与while循环的区别是,当条件为false时,也会被执行一次。

(3)for循环

语法:

for(int i = 0 ; i < 10 ; i++){

}

说明:

  • 最先执行初始化步骤。能非要声明并是不是类型,但可初始化另另有有1个多或多个循环控制变量,能够非就说 空励志的话 。
  • 怎么能让,检测布尔表达式的值。是因为着为 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) 是在另另有有1个多类底下,土措施名字相同,而参数不同。与返回值类型、访问修饰符无关。

规则:

  • 参数的类型不同;
  • 参数个数不同;
  • 参数的顺序不同;

13、变量作用域

规则:

  • 变量的范围是线程池池中该变量能非要被引用的次责。
  • 土措施内定义的变量被称为局部变量。
  • 局部变量的作用范围从声明时候开始,直到暗含它的块时候开始。
  • 局部变量需要声明能够非要使用。
  • 土措施的参数范围暗含整个土措施。参数实际上是另另有有1个多局部变量。
  • for循环的初始化次责声明的变量,其作用范围在整个循环。
  • 但循环体内声明的变量其适用范围是从它声明到循环体时候开始。
  • 能非要在另另有有1个多土措施里,不同的非嵌套块中多次声明另另有有1个多具有相同的名称局部变量,但非要在嵌套块内两次声明局部变量。

14、源文件声明规则

当在另另有有1个多源文件中定义多个类,怎么能让还有import励志的话 和package励志的话 时,要有点儿注意以下规则:

  • 另另有有1个多源文件中非要有另另有有1个多public类。
  • 另另有有1个多源文件能非要有多个非public类。
  • 源文件的名称应该和public类的类名保持一致。相似:源文件中public类的类名是Employee,什么什么都那末源文件应该命名为Employee.java。
  • 是因为着另另有有1个多类定义在某个包中,什么什么都那末package励志的话 应该在源文件的首行。
  • 是因为着源文件暗含import励志的话 ,什么什么都那末应该倒进package励志的话 和类定义之间。是因为着什么什么都那末package励志的话 ,什么什么都那末import励志的话 应该在源文件中最前面。
  • import励志的话 和package励志的话 对源文件中定义的所有类一定会效。在同一源文件中,非要给不同的类不同的包声明。

15、Java包

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

包的作用:

  • 把功能相似或相关的类或接口组织在同另另有有1个多包中,方便类的查找和使用。
  • 如同文件夹一样,包也采用了树形目录的存储土措施。同另另有有1个多包中的类名字是不同的,不同的包中的类的名字是能非要相同的,当一起去调用另另有有1个多不同包中相相似名的类时,应该加带包名加以区别。怎么能让,包能非要避免名字冲突。
  • 包也限定了访问权限,拥有包访问权限的类能够访问某个包中的类。

包励志的话 的语法格式为:

package pkg1[.pkg2[.pkg3…]];

相似,另另有有1个多Something.java 文件它的内容

package net.java.util;

public class Something{

   ...

}

什么什么都那末它的路径应该是 net/java/util/Something.java 什么什么都那末来太满保存的。

Package关键字:

  • package(包) 的作用是把不同的 java 线程池池分类保存,更方便的被有些 java 线程池池调用。
  • 另另有有1个多包(package)能非要定义为一组相互联系的类型(类、接口、枚举和注释),为你这个类型提供访问保护和命名空间管理的功能。
  • Java 使用包(package)你这个机制是为了避免命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

在Java中,是因为着给出另另有有1个多全部的限定名,包括包名、类名,什么什么都那末Java编译器就能非要很容易地定位到源代码是因为着类。Import励志的话 什么什么都那末来太满用来提供另另有有1个多合理的路径,使得编译器能非要找到某个类。

相似,下面的命令行是因为着命令编译器载入java_installation/java/io路径下的所有类