Java基础02

1.注释,标识符,关键字

注释并不会被执行,书写注释是一个非常好的习惯,要注意规范。

Java中的注释有三种:

  • 单行注释 //内容

  • 多行注释 /* 内容 */

  • 文档注释

    /**

    *参数:值

    */

标识符:Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。

标识符应该以字母,美元符号($),下划线(_)开始;

首字符之后可以是字母,美元符,下划线或数字任意组合;

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

标识符是大小写敏感的。

关键字:例如 abstract,Boolean,break,goto,interface等。

2.数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

比如:Java,C/C++等

弱类型语言:在编译后确定数据类型,没有明显的类型,能随着环境的不同 自动变换类型。

比如:VB,JS,PHP等

Java的数据类型分为两大类:

基本类型:八大基本类型
  • 数值类型:

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

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

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

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

1byte表示一个字节 即 1b=8位 (bit)

1024b=1kb 1024kb=1mb 1024mb=1gb 1024gb=1tb


整数拓展:

二进制0bNum 十进制Num 八进制0Num 十六进制0xNum

 //二进制   2
 int i1=0b10;
 //十进制   10
 int i2=10;
 //八进制   9
 int i3=011;
 //十六进制  25
 int i4=0x19;
浮点数拓展:

银行业务的钱用什么类型表示?

BigDecimal 数学工具类

如果用float,double会造成精度丢失,最好完全避免使用浮点数比较。

字符拓展:

所有的字符本质还是数字

编码 Unicode 表:(a=97 A=65)占2字节,范围0-65535

 char c1='A';
 char c2='中';
 System.out.println(c1);//输出 A
 System.out.println((int)c1);//强制转换 输出 65
 System.out.println(c2);//输出 中
 System.out.println((int)c2);//强制转换 输出 20013

转义字符:\t 制表符 \n 换行 \0 空字符(NULL)

boolean(布尔值)拓展:
 boolean flag=ture;
 if(flag==true){}
 //两者作用相同,都表示如果flag值为true就执行{}中的内容。
 if(flag){}

引用类型:类,接口,数组

3.类型转换

  • 由于Java是强类型语言,所以在进行某些运行算时,需要用到类型转换。

范围从小到大为 :Byte——Short——Char——Int——Long——Float——Double

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

强制转换:

将大容量的类型转为小容量时,需要强制转换。有可能会造成数据失真或者精度缺失。

类型 变量名=(类型)变量

自动转换:

当小容量的变量与大容量做运算时,结果自动转换为大容量的数据类型。

 int i=128;
 byte b=(byte)i;//内存溢出,数据失真
 //强制转换 (类型)变量    大--小
 short s=12;
 int is=s+55;
 //自动转换  小--大
 System.out.println(i);
 System.out.println(b);
 System.out.println(is);
 //精度缺失
 System.out.println((int)23.7);//23
 System.out.println((int)-44.83F);//44
 ​
 //操作比较大的数时,注意溢出问题
 //JDK7新特性,数字之间可以用下划线分割
 int money=10_0000_0000;//输出1000000000
 int years=20;
 int total=money*years;//-1474836480,计算时结果溢出了
 long total2=money*years;//-1474836480 默认是int,转换之前已经存在问题了
 ​
 long total3=money*((long)years);//先把一个数转换为Long
 System.out.println(total);
 System.out.println(total2);
 System.out.println(total3);

注意点:

1.不能对布尔值进行转换 2.不能不对象类型转为不相干的类型 3.在把大容量转为小容量时需要强制转换 4.转换的时候可能存在 内存溢出,数据失真 或者 精度缺失 !

4.变量,常量

变量:

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

type varName = value [,varName2 = value2] ;

数据类型 变量名 赋值 值 ; 可以使用逗号隔开声明多个同类型变量。

 //int a,b,c;
 int a=1,b=2,c=3;//不建议这样写,程序可读性差
 String name ="wanCheng";
 char x='X';
 double d=56.11;

#注意:

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

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

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

常量:

初始化之后不能再改变值,不会变动的值。关键字 final

 //修饰符不存在先后顺序 
 static final int WIDE=65;
变量作用域:
  • 类变量:可以在类中直接调用,也可以在其它类中通过 类名.变量名 调用。生效范围所有Java类中!! 关键字 static

  • 实例变量:从属于对象,如果不初始化,就会成为默认值。生效范围整个类中!!

  • 局部变量:在方法或者语句块中的变量,必须声明和初始化值。生效范围方法{}内!!

 public class Demo08 {
 ​
     //类变量 static
     static int salary=6666;
 ​
     //实例变量 从属于对象;如果不自行初始化,就会成为默认值 基本类型(0,0.0)
     // 布尔值(false) 除了基本类型都是(null)。
     String name;
     int age;
 ​
     //main方法
     public static void main(String[] args) {
 ​
         //局部变量,必须声明和初始化值
         int  i=8;
         System.out.println(i);
 ​
         //变量类型 变量名= new Demo08();
         Demo08 demo08=new Demo08();
         System.out.println(demo08.name);
         System.out.println(demo08.age);
 ​
         System.out.println(salary);
     }
 ​
 }
变量命名规范:

1.所有变量名,方法名,类名需要做到 ”见名知意“ ;

2.变量名:首字母小写,驼峰命名法;例如:firstName,lastName,

3.常量名:字母全大写加下划线连接,例如:MAX_VALUE

4.类名:首字母大写,驼峰命名法,例如:Man,Women

5.方法名:首字母小写,驼峰命名法,例如:update(),addStudent()

5.运算符

Java运算符的优先级从高到低:img //Ctrl+D:复制当前行到下一行

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

     //一元运算符
     int a=2;
     int b=a++;// a++/a-- 先赋值,后加减
     int c=++a;// ++a/--a 先加减,后赋值
     ​
     System.out.println(a); //4
     System.out.println(b); //2
     System.out.println(c); //4
     //幂运算 2^3  2*2*2=8 很多运算,我们会使用一些工具类来操作!
     double pow=Math.pow(2,3);
     System.out.println(pow);
     ​
     int i=12;
     int j=24;
     //字符串连接符 + ,String
     System.out.println(""+i+j);//""+在前会使后面算式不计算直接拼接起来
     System.out.println(i+j+"");//+""在后面时前面算式会计算后拼接上""中的内容
  • 赋值运算符:=

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

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

 //与(and)&&      或(or)||     非(取反)!
 boolean a=true;
 boolean b=false;
 ​
 System.out.println("a && b:"+(a&&b));//逻辑与运算,两个变量都为true,结果才是true;短路与
 System.out.println("a || b:"+(a||b));//逻辑或运算,两个变量有一个为true,结果就为true;
 System.out.println("!(a && b):"+!(a&&b));// 如果括号中的值是true,结果则为false,如果为false则变为true
 ​
 //短路运算,&&前算式结果为false,后面算式不再运算
 int c=5;
 boolean d=(c<4)&&(c++<4);
 System.out.println(d);//false
 System.out.println(c);//5
  • 位运算符:&,|,^,~,>>,<<,>>>(了解)

 A= 0011 1100
 B= 0000 1101
 A&B=0000 1100
 A|B=0011 1101
 A^B=0011 0001
 ~B=1111 0010
 ​
 num<<n  num*n次2
 num>>n  num/n次2
  • 条件运算符:? :

 //x ? y : z
 //如果x==true,则结果为y,否则结果为z
 int high=165;
 String type= high<160?"矮":"高";
 System.out.println(type);
  • 扩展赋值运算符:+=,-=,*=,/=

6.包机制,JavaDoc

包机制:

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

包语句的语法格式为:package pkg1.pkg2.pkg3;

一般使用公司域名倒置作为包名;

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可以完成此功能。

//import pkg1.pkg2.pkg3.* 导入这个包下的所有类。

import pkg1.pkg2.pkg3.ClassName;

"ALT+ENTER" 导入包路径快捷键。

JavaDoc生成文档:

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

参数信息

  • @author 作者名

  • @version 版本号

  • @since 指明需要最早使用的JDK版本

  • @param 参数名

  • @return 返回值情况

  • @throws 异常抛出情况

 /**
  * @author cxh
  * @version 1.0
  * @since 1.8
  */
 public class Doc {
 ​
     String name;
     String sex;
 ​
     /**
      * @param sex
      * @return
      * @throws Exception
      */
     public String test(String sex)throws Exception {
         return name;
     }
 }

生成文档方式:

找到类所在的文件夹,打开cmd命令窗口,转到所在目录位置,执行命令:

Javadoc -encoding UTF-8 -charset UTF-8 Doc.java

打开目录下的index.html文件就可以查看生成的文档。

通过IDEA来生成JavaDoc文档:

  1.创建一个存放JavaDoc的文件夹

  2.打开IDEA上方工具(Tools),生成JavaDoc文档(Generate JavaDoc...)//如图一

  3.选择我们要生成的类

  4.在output directory中选择我们刚才建立的存放JavaDoc的文件路径

  5.然后在Locale和其它命令行参数输入如下代码,以防中文带来的乱码

    Locale:zh_CN

    commad line arguments:-encoding UTF-8 -charset UTF-8

    //如图二

  6.进入存放JavaDoc文件中点击index.html即可看到我们生成的JavaDoc文档//如图三

img

图一

图二

图三

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值