首页 > 编程语言 > 详细

Java基础语法

时间:2020-05-04 09:44:17      阅读:53      评论:0      收藏:0      [点我收藏+]

每一个理论,都有具体的应用

1、注释、关键字、标识符

注释

◆平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

◆注释并不会被执行,是给我们写代码的人看的书写

注释是一个非常好的习惯

Java中的注释有3种:

  ◆单行注释

  ◆多行注释

  ◆文档注释

关键字

abstractassertbooleanbreakbyte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

标识符

  • 自定义的名称【除开关键字

  • Java 所有的组成部分都需要名字。

  • 类名、变量名以及方法名都被称为标识符。

标识符注意点:

●所有的标识符都应该以字母(A-Z 或者a-z) ,美元符($)、或者下划线( _ )开始
●首字符之后可以是字母(A-Z 或者a-z) ,美元符($) 、下划线( _ )或数字的任何字符组合
不能使用关键字作为变量名或方法名。
●标识符是大小写敏感
合法标识符举例:age、$salary、_ value、_ 1 _value
非法标识符举例:123abc、 -salary、#abc
 

1 public static void main(String[] args) {
2          String 王者荣耀 = "王者荣耀";
3          System.out.println(王者荣耀);
4      }

可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

2、数据类型

强类型语言

◆要求变量的使用要严格符合规定所有变量都必须先定义后才能使用 弱类型语言
◆变量没有严格的规定,可以写的相对随意些,但是编译器相对做的更多些

Java的数据类型分为两大类

技术分享图片

什么是字节?

◆位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。 ?
◆字节(byte) :是计算机中数据处理的基本单位,习惯上用大写B来表示。 ?
◆1B (byte,字节) = 8bit(位) ?
◆字符:是指计算机中使用的字母、数字、字和符号

 /*
   ◆1 bit表示1位,
   ◆1Byte表示一个字节 1B=8b.
   ◆1024B = 1 KB
   ◆1024KB = 1 M
   ◆1024M = 1G.
 */
 1  package _JDK安装_入门程序_关键字_标识符_常量_变量._3数据类型_基本数据类型;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname DataTypeDemo
 6   * @Package _3数据类型_基本数据类型
 7   * @date 2020/03/29 16:37
 8   * @Description TODO
 9   */
10  /*
11  什么是字节?
12      ◆位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
13      ◆字节(byte) :是计算机中数据处理的基本单位,习惯上用大写B来表示。
14      ◆1B (byte,字节) = 8bit(位)
15      ◆字符:是指计算机中使用的字母、数字、字和符号
16      
17      ◆1 bit表示1位,
18      ◆1Byte表示一个字节 1B=8b.
19      ◆1024B = 1 KB
20      ◆1024KB = 1 M
21      ◆1024M = 1G.
22   */
23  public class DataPrimitiveTypeDemo {
24      public static void main(String[] args) {
25          //八大基本数据类型
26          
27          //整数
28          int num1 = 10;//最常用
29          byte num2 = 20;
30          short num3 = 30;
31          long num4 = 30L;//Long 类型要在数字后面加个L
32          
33          //小数:浮点数
34          float num5 = 50.1F;//float类型要在数字后面加个F
35          double num6 = 3.141592653589793238462643;
36          
37          //字符
38          char name = ‘国‘;
39          
40          //字符串, String不是关键字,类
41          //String namea = "秦疆";
42          
43          //布尔值:是非
44          boolean flag = true;
45          //booLean fLag = false;
46      }
47  }

3、类型转换

◆由于ava是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

取值范围小-------------------------------------------------------------------->取值范围大
 byte,short, char-> int-> long-> float->double 小数的优先级大于整数。 

◆运算中,不同类型的数据先转化为同一类型,然后进行运算。

◆自动类型转换【低-->高】(隐式)

当数据类型不一样时,将会发生数据类型转换。

自动类型转换(隐式) 右边赋值给左边,因此左边数据类型的取值范围(容量)比右边大,
才能构成自动类型转换

1.特点:代码不需要进行特殊处理,自动完成。

2.规则:数据范围从小到大。

实例

 1  package __数据类型转换_运算符_方法入门._1数据类型转换._1数据类型_自动转换;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname AutomaticConversionDemo
 6   * @Package __数据类型转换_运算符_方法入门.数据类型转换._1数据类型_自动转换
 7   * @date 2020/03/29 18:34
 8   * @Description TODO
 9   * 数据类型转换_自动转换
10   */
11  /*
12  当数据类型不一样时,将会发生数据类型转换。
13      自动类型转换(隐式)
14        右边赋值给左边,因此左边数据类型的取值范围比右边大,才能构成自动类型转换
15          1.特点:代码不需要进行特殊处理,自动完成。
16          2.规则:数据范围从小到大。
17  ?
18      强制类型转换(显式)
19   */
20  public class AutomaticConversionDemo {
21      public static void main(String[] args) {
22          System.out.println("整数int类型:"+1024);//这就是一个整数,默认就是int类型
23          System.out.println("浮点数double类型"+3.14);//这就是一个浮点数,默认就是double类型
24  ?
25          //左边是1ong类型,右边是默认的int类型,左右不一样,左边取值范围比右边大
26          //一个等号代表赋值,将右侧的int常量,交给左侧的1ong变量进行存储
27          //int-->1ong,符合了数据范围从小到大的要求
28          //这一行代码发生了自动类型转换。
29          long num1 = 100;
30          System.out.println(num1);//100
31  ?
32          //左边是double类型,右边是float类型,左右不一样,左边取值范围比右边大
33          //float-->double,符合从小到大的规则
34          //也发生了自动类型转换
35          double num2 = 2.5F;
36          System.out.println(num2);//2.5
37  ?
38          //左边是float类型,右边是long类型,左右不一样,左边取值范围比右边大
39          //1ong-->float,范围是float更大一些,符合从小到大的规则
40          //也发生了自动类型转换
41          float num3 = 30L;
42          System.out.println(num3);
43  ?
44      }
45  }

 

◆强制类型转换(显式)

当数据类型不一样(高容量转换到低容量)时,将会发生数据类型转换。 右边赋值给左边,但是左边的数据类型的取值范围(容量)比右边小, 可以进行强制类型转换,达到数据存储的结果

1.特点:代码需要进行特殊的格式处理,不能自动完成。 ?

2.格式:范围小的类型 范围小的变量名 =(范围小的类型)原本范围大的数据;

 

实例

 1  package __数据类型转换_运算符_方法入门._1数据类型转换._2数据类型转换_强制转换;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname CoercionDemo
 6   * @Package __数据类型转换_运算符_方法入门.数据类型转换._2数据类型转换_强制转换
 7   * @date 2020/03/29 18:52
 8   * @Description TODO
 9   */
10  /*
11      强制类型转换(显式)
12         右边赋值给左边,但是左边的数据类型的取值范围比右边小,可以进行强制类型转换,达到数据存储的结果
13              1.特点:代码需要进行特殊的格式处理,不能自动完成。
14              2.格式:范围小的类型范围小的变量名=(范围小的类型)原本范围大的数据;
15   */
16  public class CoercionDemo {
17      public static void main(String[] args) {
18          //左边是int类型,右边是1ong类型,不一样
19          //long-->int,不是从小到大
20          //不能发生自动类型转换!
21          //格式:范围小的类型 范围小的变量名=(范围小的类型)原本范围大的数据;
22          int num = (int) 100L;
23          System.out.println(num);
24  ?
25      }
26  }

 

注意事项

1.强制类型转换一般不推荐使用,因为有可能发生【浮点数】精度损失、【整数】数据溢出。 2.byte/short/char这三种类型都可以发生数学运算,例如“加法“。
3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。 4.boolean类型不能发生数据类型转换

实例

 
 1 package __数据类型转换_运算符_方法入门._1数据类型转换._2数据类型转换_强制转换;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname CoercionDemo
 6   * @Package __数据类型转换_运算符_方法入门.数据类型转换._2数据类型转换_强制转换
 7   * @date 2020/03/29 18:52
 8   * @Description TODO
 9   */
10  /*
11      强制类型转换(显式)
12          注意事项:
13              1.强制类型转换一般不推荐使用,因为有可能发生【浮点数】精度损失、【整数】数据溢出。
14              2.byte/short/char这三种类型都可以发生数学运算,例如加法“。
15              3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
16              4.boolean类型不能发生数据类型转换
17   */
18  public class CoercionErroDemo {
19      public static void main(String[] args) {
20          //1ong强制转换成为int类型
21          int num1 = (int) 6000000000L;//数据溢出异常
22          System.out.println(num1);//1705032704【17个亿】
23  ?
24          //double-->int,强制类型转换
25          int num2 = (int) 3.9;//精度损失
26          System.out.println(num2);//3,这并不是四舍五入,所有的小数位都会被舍弃掉
27  ?
28          char c = ‘A‘;//这是一个字符型变量,里面是大写字母A
29          System.out.println(c + 1);//66,也就是大写字母A被当做65进行处理
30          //计算机的底层会用一个数字(二进制)来代表字符A,就是65T
31          //一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字
32  ?
33          byte num4 =40;//注意!右侧的数值大小不能超过左侧的类型范围
34          byte num5=50;
35          //byte+byte-->int+int-->int
36          int result1=num4 +num5;
37          System.out.println(result1);//90
38  ?
39          short num6=60;
40          //byte+short-->int +int-->int
41          //int强制转换为short:注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出
42          short result2=(short) (num4 +num6);
43          System.out.println(result2);//100
44  ?
45      }
46  }

 

4、变量、常量

变量

变量是什么:就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型
Java变量程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

1  type varName[=value][{,varName[=value]}];
2  /*
3  type:数据类型
4  varName;变量名
5  [{,varName[=value]}]:不建议使用
6  数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
7  []表示里面的内容可以省略
8  */
9  int a = 1,b = 2,c = 3;//不建议使用

注意事项

●每个变量都有类型,类型可以是基本类型也可以是引用类型。

●变量名必须是合法的标识符。

●变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域

◆类变量 【从属于类,直接可以通过类名调用使用】

◆实例变量【从属于对象,需要new一个对象,通过对象调用】 如果不初始化,那么默认值:

     byte =(byte)0;
    short = (short)0;
  int = 0;
  long = 0L;
  float = 0.0F
  double = 0.0d;
  boolean = false;
  char = ‘/uoooo

除了基本类型,引用类型数据默认是:null

◆局部变量【仅在方法中有效,通过方法调用使用】 局部变量必须声明和初始化值【赋值】,才可以使用。

 1  package __数据类型转换_运算符_方法入门._1数据类型转换._3变量的作用域;
 2  ?
 3  /**
 4   * @Author Admin
 5   * @Classname Variable
 6   * @Package __数据类型转换_运算符_方法入门._1数据类型转换._3变量的作用域
 7   * @GreatDate 2020/04/27 08:27:01
 8   * @Description TODO 变量的作用域
 9   */
10  public class Variable {
11      static int allClicks = 0;//类变量,从属于类
12      String str = "hello world";//实例变量,从属于对象
13      public void method() {
14          int i = 0;//局部变量 仅在方法中有效
15      }
16  public static void main(String[] args) {
17      Variable v = new Variable();
18      System.out.println(Variable.allClicks);
19      System.out.println("---------------------");
20      System.out.println(v.str);
21      System.out.println("---------------------");
22      v.method();
23      }
24  }

●变量声明是一条完整的语句,因此每一个声明都必须以分号结束

常量

◆常量(Constant):初始化(initialize)【赋值】后不能再改变值!不会变动的值。

◆所谓常量:可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

  final 常量名 = 值; 
  final double PI = 3.14; 

常量名:一般使用大写字符,多个单词使用下划线"__"分割。

拓展:final是修饰符,和publicvoid一样,修饰符之间的不存在先后使用顺序。

1 static final double PI = 3.14;
2 final static double PI = 3.14;//都是一样的,不过写变量时,一般把final写在static之前.

 

变量的命名规范所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX VALUE
类名:首字母大写和驼峰原则:Man, GoodMan

方法名:首字母小写和驼峰原则:run(), runRun()

5、运算符

◆Java语言支持如下运算符:

●算术运算符:

【四则运算(一元运算符)+模运算+自增自减运算】

 
1
package __数据类型转换_运算符_方法入门._2运算符._1四则运算符_取模运算符;

符号对应名称
+ 加号
- 减号
* 乘号
/ 除号
% 模运算或者取余

2
3 /** 4 * @author Admin 5 * @Classname ArithmeticDemo 6 * @Package __数据类型转换_运算符_方法入门._2运算符._1四则运算符 7 * @date 2020/03/29 20:34 8 * @Description TODO 9 */ 10 public class ArithmeticDemo { 11 //四则运算符(二元运算符,算术运算符) 12 public static void main(String[] args) { 13 //两个常量之间可以进行数学运算 14 System.out.println(20 + 30); 15 //两个变量之间也可以进行数学运算 16 int a = 20; 17 int b = 30; 18 System.out.println(a - b);//-10 19 //变量和常量之间可以混合使用 20 System.out.println(a * 10);//200 21 int x = 10; 22 int y = 3; 23 int result1 = x / y; 24 System.out.println(result1);//3 25 int result2 = x % y; 26 System.out.println(result2);//余数,模,1 27 //int +double-->double+double-->double 28 double result3 = x + 2.5; 29 System.out.println(result3);//12.5 30 //-------------------------------------------- 31 System.out.println("----------------------"); 32 //运算中隐含的自动类转换 33 long l = 1234541541454L; 34 int i = 123; 35 short s = 10; 36 byte e = 8; 37 System.out.println(l + i + s + e);//1234541541595 long 38 System.out.println(i + s + e);//141 int 39 System.out.println(s + e);//18 int 40 //System.out.println((String)(e + s));//18 int 41 42 } 43 }

技术分享图片

注意:

取值范围小-------------------------------------------------------------------->取值范围大

 byte,short, char-> int-> long-> float->double 

1、如果有范围的类型大的变量类型,那么整个运算会自动转换提升到取值范围大数据类型。

2、byte,short, char会自动转换成int,就算里面没有int类型。

“+”号的其他用法

 1  package __数据类型转换_运算符_方法入门._2运算符._1四则运算符_取模运算符._加号的多种用法;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname PlusDemo
 6   * @Package __数据类型转换_运算符_方法入门._2运算符._1四则运算符._加号的多种用法
 7   * @date 2020/03/29 20:50
 8   * @Description TODO
 9   */
10  /*
11      + 可以使用拼接字符串
12   */
13  public class PlusDemo {
14      public static void main(String[] args) {
15          //字符串类型的变量基本使用
16          //数据类型 变量名称 = 数据值;
17          
18          String str1 = "Hello";
19          System.out.println(str1);//Hello
20          System.out.println("Hello" + "World");//HelloWorld
21          String str2 = "Java";
22          //String+int-->String
23          System.out.println(str2 + 20);//Java20
24          //优先级问题
25          //String+int+int
26          //String +int
27          //String
28          System.out.println(str2 + 20 + 30);//Java2030
29          System.out.println(str2 + (28 + 30));//Java58
30      }
31  }

 


 ?

 

自增自减【一元运算符】

符号对应名称
++ 自增运算符
-- 自减运算符

自增运算符

 1 package __数据类型转换_运算符_方法入门._2运算符._2自增自减运算符._1自增运算符;
 2 
 3 /**
 4  * @author Admin
 5  * @Classname IncreaseDemo
 6  * @Package __数据类型转换_运算符_方法入门._2运算符._2自增自减运算符
 7  * @date 2020/03/29 21:10
 8  * @Description TODO
 9  * 自增运算符
10  */
11 public class IncreaseOperatorDemo {
12     public static void main(String[] args) {
13         int num1 = 10;
14         System.out.println(num1);//10
15         //单独使用时,前++和后++,都是表示加1
16         ++num1;//单独使用,前++
17         System.out.println(num1);//11
18         num1++;//单独使用,后++
19         System.out.println(num1);//12
20         System.out.println("================");
21         //与打印操作混合的时候
22         int num2 = 20;
23         //混合使用,先++,变量立刻马上变成21,然后打印结果21
24  //num2 =(num2 + 1);执行完这行代码后,先给num2自增(+1),再赋值num2
25         System.out.println(++num2);//21
26         System.out.println(num2);//21
27         System.out.println("================");
28         int num3 = 30;
29         //混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31
30 //(num3 = num3) + 1执行完这行代码后,先减num3赋值num3,再自增(+1)
31         System.out.println(num3++);//30
32         System.out.println(num3);//31
33     }
34 }

 

自减运算符

 1  package __数据类型转换_运算符_方法入门._2运算符._2自减自减运算符._2自减运算符;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname DecreaseDemo
 6   * @Package __数据类型转换_运算符_方法入门._2运算符._2自减自减运算符.自减运算
 7   * @date 2020/03/29 21:18
 8   * @Description TODO
 9   * 自减运算
10   */
11  public class DecreaseOperatorDemo {
12      public static void main(String[] args) {
13          int num1 = 10;
14          System.out.println(num1);//10
15          //单独使用时,前--和后--,都是表示减1
16          --num1;//单独使用,前--
17          System.out.println(num1);//9
18          num1--;//单独使用,后--
19          System.out.println(num1);//8
20          System.out.println("================");
21          int num4 = 40;
22          //和赋值操作混合
23          int result1=--num4;
24  //混合使用,前--,变量立刻马上-1变成39,然后将结果39交给result1变量
25          /*num4 = (num4 - 1);执行完这行代码后,
26              先给num4自减(-1),再赋值num4,再赋值result1
27         */
28          System.out.println(result1);//39
29          System.out.println(num4);//39
30          System.out.println("================");
31          int num5=50;
32  //混合使用,后--,首先把本来的数字50交给result2,然后我自己再-1变成49
33          /*(num5 = num5) - 1执行完这行代码后,
34            先给num5赋值,再赋值result2,再自减(-1)
35          */
36          int result2=num5--;
37          System.out.println(result2);//50
38          System.out.println(num5);//49
39          System.out.println("================");
40      }
41  }
42  ?

 

很多运算需要使用工具类来操作实现:如幂运算,使用了Math工具类

 package __数据类型转换_运算符_方法入门._2运算符._8幂运算演示;
 ?
 /**
  * @author Admin
  * @Classname DemoMathPow
  * @Package __数据类型转换_运算符_方法入门._2运算符._8幂运算演示
  * @GreatDate 2020/05/03 21:24:36
  * @Description TODO 演示幂运算
  */
 public class DemoMathPow {
     public static void main(String[] args) {
         //幂运算 2^3 2*2*2=8
         double pow = Math.pow(2, 3);
         System.out.println(pow);
    }
 }

 

●赋值运算符

符号对应名称
= 赋值,将右边的值交给左边进行运行

●关系运算符:

符号对应名称
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于
instanceof 用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是返回true,否则返回false。
 1 package __数据类型转换_运算符_方法入门._2运算符._4比较_关系运算符;
 2 
 3 /**
 4  * @author Admin
 5  * @Classname CompareDemo
 6  * @Package __数据类型转换_运算符_方法入门._2运算符._4比较运算符
 7  * @date 2020/03/29 22:08
 8  * @Description TODO
 9  * 比较运算符
10  */
11 public class CompareOperatorDemo {
12     public static void main(String[] args) {
13 
14         System.out.println(10>5);//true 
15         int num1=10;
16         int num2=12;
17         System.out.println(num1<num2);//true 
18         System.out.println(num2>=100);//false
19         System.out.println(num2<=100);//true 
20         System.out.println(num2<=12);//true 
21         System.out.println("===============");
22         System.out.println(10==10);//true
23         System.out.println(20!=25);//true 
24         System.out.println(20!=20);//false 
25         int x=2;
26         //System.out.println(1<x<3);//错误写法!编译报错!不能连着写。
27     }
28 }

 

●逻辑运算符:

符号对应名称
&& 与(逻辑与、短路与)
|| 或(逻辑或、短路或)
!
 1 package __数据类型转换_运算符_方法入门._2运算符._5逻辑运算符._1短路与$短路或逻辑运算符;
 2 
 3 /**
 4  * @author Admin
 5  * @Classname LogicDemo
 6  * @Package __数据类型转换_运算符_方法入门._2运算符._5逻辑运算符
 7  * @date 2020/03/29 22:32
 8  * @Description TODO
 9  */
10 //逻辑运算符短路与&&和短路或||
11 public class LogicalOperatorsDemo {
12     public static void main(String[] args) {
13         //短路与&& 只要第一个表达式的值是false的,
14         // 第二个表达式的值,就不需要进行运算了
15         int j = 2;
16         System.out.println( j== 1 && j++ ==2  );
17         //因为j==1返回false,所以右边的j++就没有执行了,
18         // 所以j的值,还是2
19         System.out.println(j);
20 
21         System.out.println("------------------------------");
22         //短路或|| 只要第一个表达式的值是true的,
23         // 第二个表达式的值,就不需要进行运算了
24         int i = 2;
25         System.out.println( i== 2 || i++ ==2  );
26         //因为j==2返回true,所以右边的j++就没有执行了,
27         // 所以i的值,还是2
28         System.out.println(i);
29 
30         System.out.println("------------------------------");
31         //取反!
32         //真变为假
33         //假变为真
34         boolean b = true;
35         System.out.println(b); //输出true
36         System.out.println(!b);//输出false
37 
38         System.out.println("------------------------------");
39         //异或^
40         //不同,返回真
41         //相同,返回假
42         boolean a = true;
43         boolean c = false;
44 
45         System.out.println(a^c); //不同返回真
46         System.out.println(a^!c); //相同返回假
47     }
48 }

 

●位运算符:了解!!!

A = 0011 1100

B = 0000 1101

A&B = 0000 1100 : A和B每一位都进行&与运算,A和B的位数都是1才输出1,否则否输出0

A|B = 0011 1101 : A和B每一位都进行|或运算,A和B的位数都是0才输出0,否则否输出1

A^B = 0011 0001 : A和B每一位都进行^异或运算,A和B的位数相同才输出0,否则否输出1

~B = 1111 0010 :B每一位都进行~取反运算, 位数是0取反为1,位数是1取反为0

练习:快速计算2x8=16 2x8 = 16

"<<": 相当于*2 位左移运算符 ">>": 相当于/2 位右移运算符

如:2<<3 = 16 2的位数0000 0010 -- 1向左移动三位 效率提高!!!

0000 0000 -> 0

0000 0001 -> 1

0000 0010 -> 2

0000 0011 -> 3

0000 0100 -> 4

0000 0101 -> 5

0000 0110 -> 6

0000 0111 -> 7

0000 1000 -> 8

0001 0000 -> 16

0010 0000 -> 32

0100 0000 -> 64

备注:箭头朝那边,就是什么运算符,如:<< 箭头朝左,所以是左位移运算

●条件运算符{三元(目)运算符} ? :

语法格式: 数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;

判断a>b是否成立,如果成立将a的值质值给max; 如果不成立将b的值赋值给max。 二者选其一


●扩展赋值运算符:

符号解析
a+=b a= a + b
a-=b a = a - b
a*=b a = a * b
a/=b a = a / b
 
 1 package __数据类型转换_运算符_方法入门._2运算符._3赋值运算翻;
 2  ?
 3  /**
 4   * @author Admin
 5   * @Classname AssignmentDemo
 6   * @Package __数据类型转换_运算符_方法入门._2运算符._3赋值运算翻
 7   * @date 2020/03/29 21:54
 8   * @Description TODO
 9   * 复合赋值运算符
10   */
11  public class AssignmentDemo {
12      public static void main(String[] args) {
13          int a = 10;
14          //按照公式进行翻译:a=a+5
15          //a=10+5;
16               //a=15;
17               //a本来是10,现在重新赋值得到15
18          a += 5;
19          System.out.println(a);//15
20  ?
21          int x = 10;
22          //x=×%3;
23                   //x=10%3;
24                   //x=1;
25                   //x本来是10,现在重新赋值得到1
26          x %= 3;
27          System.out.println(x);//1
28      }
29  }

 

运算的优先级:

使用()可以提升优先级。

6、包机制、JavaDoc

包机制:本质就是文件夹【目录】

◆为了更好地组织类, Java 提供了包机制,用于区别类名的命名空间。 ◆包语句的语法格式为:

[]:表示可选择的

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

◆一般利用公司域名倒置作为包名;如:www.elvin.org,使用倒置:org.elvin.www

◆为了能够使用某-个包的成员,我们需要在Java程序中明确导入该包 使用"import"语句可完成此功能:

  import package1[. package...].(classname|*); 

 

JavaDoc

◆javadoc命令是用来生成自己API文档的

◆参数信息

◆@author作者名

◆@version版本号

◆@since 自然号,指明需要最早使用的jdk版本

◆@param 参数名

◆@return 返回值情况

◆@throws异常抛出情况

技术分享图片

JavaDoc:使用DOS命令生成Java帮助文档

DOS命令: javadoc -encoding UTF-8 -charset UTF-8 DemoDoc.java 

使用IDEA生成帮助文档:

1. 第一步 选中要生成api文档的项目、模块、类–>点击tools–>打开Generate javaDoc…

技术分享图片

2. 第二步 设置路径和编码格式(-encoding utf-8 -charset utf-8)

技术分享图片

以上选择生成的是当前类文件的API文档,如果需要生成整个项目,整个模块或者当前文件需要勾选"Custom scope",里面有很多可以选择生成文档的范围:技术分享图片

Custom scope自定义范围
All Places 所有地方(整个工作空间)
Project Files 项目(工程)文件
Scratches and Consoles 划痕和控制台
Recently Viewed Files 最近查看的文件
Recently Changed Files 最近更改的文件
Open Files 打开文件
Module ‘XxxXxx‘ 模块“XxxXxx”
Current File 当前文件
Class Hierarchy 类层次结构
Data Sources数据源
Context Data Sources 上下文数据源
Connected Data Sources 连接的数据源
All Data Sources 所有数据源

如果出现报错–Error running ‘Javadoc’: Cannot generate JavaDoc - JDK path is not specified or invalid 解决办法:

技术分享图片

添加自己电脑的jdk–默认C盘下Java目录 

技术分享图片

测试

技术分享图片

Java基础语法

原文:https://www.cnblogs.com/elvin-j-x/p/12825265.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!