Java基础语法

注解、标识符、关键字

注释

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

  2. 书写注释是一个好习惯。

  • Java 中的注释有三种:

    • 单行注释://

    • 多行注释:/* */

    • 文档注释:/** */

    有趣注释:

/***
*                 ___====-_ _-====___
*           _--^^^#####//     \\#####^^^--_
*         _-^##########// (   ) \\##########^-_
*       -############// |\^^/| \\############-
*     _/############//   (@::@)   \\############\_
*     /#############((     \\//     ))#############\
*   -###############\\   (oo)   //###############-
*   -#################\\ / VV \ //#################-
* -###################\\/     \//###################-
* _#/|##########/\######(   /\   )######/\##########|\#_
* |/ |#/\#/\#/\/ \#/\##\ | | /##/\#/ \/\#/\#/\#| \|
* ` |/ V V `   V \#\| | | |/#/ V   ' V V \| '
*   `   ` `     `   / | | | | \   '     ' '   '
*                     ( | | | | )
*                   __\ | | | | /__
*                   (vvv(VVV)(VVV)vvv)                
*                       神兽保佑
*                       代码无BUG!
*/

标识符

关键字

  • java所有的组成部分都需要名字。类名、变量名、方法名,都被称为标识符

标识符注意点

  • 所有的标识符都因该以字母(A-Z 或者 a-z)、美元符($)、下划线( _ )开始

  • 首字母之后可以是字母(A-Z 或 a-z)、美元符($)、下划线( _ )、数字的任何字符组合

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感的

  • 可以使用中文命名,但是一般不建议,也不建议使用拼音

 

数据类型

强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

  • java、.NET、C/C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

弱类型语言

  • 弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·

语言有:

无类型:不检查,甚至不区分指令和数据

弱类型:无类型的不检查,甚至不区分指令和数据

强类型:检查很弱,仅能严格的区分指令和数据

动态语言和静态语言

  • 通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

  • 对于动态语言与静态语言的区分,套用一句流行的话就是:StaTIc typing when possible, dynamictyping when needed。

Java的数据类型分为两大类

  • 基本类型(primitive type)

    • 数值类型

      • 整数类型:byte 占 1 个字节、short 占 2 个字节、int 占 4 个字节、long 占 8 个字节

      • 浮点类型:float 占 4 个字节、double 占 8 个字节

      • 字符类型:char 占 2 个字节

    • boolean类型:占 1 位,其值只有 true 和 false 两个

      • true:表示为真

      • false:表示为假

  • 什么是字节

    • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位的二进制数。

    • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写 B 类表示

    • 1B(byte字节)= 8bit(位)

    • 字符:是指计算机中使用的字母、数字、字、符号

      1bit表示 1 位。

      1Byte表示一个字节 1B = 8b

      1024B = 1KB

      1024KB = 1M

      ....

整数拓展:

public static void main(String[] args) {
   //整数拓展: 进制   二进制:0b   十进制     八进制:0     十六进制:0x
   int i = 0b10;   //二进制:0b
   int i1 = 10;    //十进制
   int i2 = 010;   //八进制:0
   int i3 = 0x10;  // 十六进制:0x
   System.out.println(i);
   System.out.println(i1);
   System.out.println(i2);
   System.out.println(i3);
}

image-20210303002637716

浮点数拓展

public static void main(String[] args) {
   //银行业务怎么表示? 使用 BigDecimal 数学工具类
   //float:有限的、离散的、有舍入误差
   //double
   float a = 0.1f;
   double b =  1.0/10;
   System.out.println(a == b); //false
   System.out.println(a); //0.1
   System.out.println(b); //0.1
}

字符集拓展

public static void main(String[] args) {
   //字符集拓展
   char a = 'a';
   char b = '露';
   System.out.println(a);
   System.out.println((int)a);//强制转换

   System.out.println(b);
   System.out.println((int) b);//强制转换
   //所有的字符本质还是数字
   //底层查询的是 Unicode 表
}

 

  • 引用类型(reference type)

 

类型转换

  • 强制转换:(类型)变量名 高 -> 低

  • 自动转换:低 -> 高

注意点

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换位不相干的类型

  3. 在把高容量转换到低容量时,强制转换

  4. 强制转换时,会存在内存溢出或精度丢失问题

精度丢失问题:

public static void main(String[] args) {
   //精度丢失
   System.out.println((int) 12.222);//12
   System.out.println((int) -33.333);//-33
}
把浮点类型转为整数类型时,会将小数点之后的数据截取掉,只保留整数部位。

内存溢出问题:

public static void main(String[] args) {
   //内存溢出
   //jdk7的新特性:数字用下划线分隔,下划线不会被输出
   int moniy = 10_0000_0000;
   int year = 20;
   int result = moniy * year;
   System.out.println(result); //-1474836480:结果为负数,因为此时数据超过了int类型的最大接收量,导致内存溢出了

   //解决方法,可以将 year 变量转换为 long 类型
   long result1 = moniy * (long)year;
   System.out.println(result1);//20000000000
}

 

变量、常量

变量

  • 变量时什么:就是可以变化的量!

  • java 时一种强类型语言,每个变量都必须声明类型

  • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

注意事项:

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

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

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

变量作用域:

  • 类变量:用 static 修饰

  • 实例变量:Demo06 demo06 = new Demo06();

  • 局部变量:只能在当前方法中使用的变量

public class Democrat {

   static int i = 100; //类变量:在类中,方法外,并使用 static 关键字修饰

   String str = "100"; //实例变量:在类中,方法外
   public static void main(String[] args) {
       double dou = 100; //局部变量
  }
}
public class Demo06 {

   //类变量:static 关键字表示该变量为类变量
   static int i = 100;

   //实例变量:从属于对象
   //整数类型默认值:0
   //浮点数默认值:0.0
   //布尔类型默认值:false
   //引用类型默认值:null
   String name;
   int age;

   public static void main(String[] args) {
       //局部变量:必须先声明和初始化
       int i = 10;
       add(i);
       System.out.println("这是主方法" + i);

       //变量类型 变量名称 = new Demo06();
       Demo06 demo06 = new Demo06();

       System.out.println(demo06.age);
       System.out.println(demo06.name);
  }

   public static void add(int i){
       System.out.println("这是子方法" + i );
  }
}

常量

  • 常量(Constant):初始化(initialize)后不能在改变值!不会变动的值

  • 值被设定后,在程序中是不可改变的;

public class Demo09 {
   
   //final:表示 i 为常量
   static final int i = 10;

   public static void main(String[] args) {

       System.out.println(i);
  }
}

变量的命名规范

  • 所有的变量、方法、类名:做到见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则

  • 方法名:首字母小写和驼峰原则

 

运算符

Java 语言支持的运算符

  • 算术运算符:+、-、*、/、%、++、--

  • 赋值运算符:=

  • 关系运算符:> 、< 、>=、 <=、 ==、 !=、instanceof

  • 逻辑运算符:&&、||、!

  • 位运算符:&、|、^、~、>>、<<、>>>

  • 条件运算符:( ?:)

  • 扩展运算符:+=、-=、*=、/=

public static void main(String[] args) {
   //幂次方计算:借用工具类 math
   double pow = Math.pow(2, 3);
   System.out.println(pow);
}

 

包机制、JavaDoc

包机制

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

  • 包语句地语法格式为:

    • package pkg1[.pkg2[.pkg2...]]

  • 一般利用公司域名倒置作为包名

  • 为了能够使用某一个包地成员,需要在 Java 程序中明确导入该包。使用 import 语句即可。

 

JavaDoc

  • javadoc的作用:生成一个开发帮助文档之类的。

使用idea生成javaDoc文档:

  1. 首先我们需要新建一个文件夹用于存放JavaDoc的文件

  2. 接下来点击IntelliJ IDEA顶部的Tools菜单,选择Generate JavaDoc选项

  3. 然后在弹出的界面中我们点击Output directory输入框后面的按钮

  4. 在弹出的选择文件夹界面中选择刚才新建的文件夹

  5. 接下来在底部的Locale输入框配置语言和编码集,语言:zh_CN,代表中文,编码集:-encoding UTF-8 -charset UTF-8

  6. 然后点击确定以后我们就等待IntelliJ IDEA给我们生成JavaDoc文档即可

  7. 接下来我们打开JavaDoc文件夹,找到index.html文件

  8. 最后我们就可以看到JavaDoc文档了,它把项目中所有的类,程序包都给写到文档了,非常的详细

posted @ 2021-03-03 23:10  初夏_雨露  阅读(58)  评论(0)    收藏  举报