JAVA基础语法

注释

单行注释,每行以  //  开头

多行注释,被/*  */包围的一段注释

文档注释,与javadoc相关

public class 注释hello {
    public static void main(String[] args) {
        //输出一个Hello,World
        System.out.println("Hello,World");
    }
    //单行注释
    //1000
    //1001
    //1002
    //1003

    //多行注释 可注释一段文字 /*   */
    /*
    * 1000
    * 1001
    * 1002
    * 1003*/

    //JavaDoc 文档注释  /**  */
    /**
     * @Descripstion Hello
     * @Author zhaoguan*/
}

标识符与关键字

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

标志符只能以字母,美元符号($),下划线(_)开头。

Java中有很多的关键字,这些关键字不能用作变量名或方法名。

Java对大小写很敏感,字母相同,大小写存在不同的标识符不同。

可以使用中文名或拼音做标识符,但这种方法使代码变得极不规范,避免使用。

数据类型

Java是一种强类型语言,所有变量必须先定义后使用。

基本数据类型

对于long,一般在数字后加"L"用于区分。

long number=30L;

注意,String不是关键字,是一个类。

float类型,要在数字后加”F“;

float number=0.1F;

引用数据类型

包括类,接口,数组。

一些拓展

进制

二进制0b开头     八进制0开头   十六进制0x开头

浮点数比较问题

Java中浮点数存在舍入误差

float num1=o.1f;
double num2=1.0/10;
System.out.println(num1==num2);

输出结果为false

最好完全避免浮点数进行比较

因此在银行系统开发中要避免使用浮点数,此时使用数学方法类BigDecimal。

字符拓展

字符有Unicode编码表,有其对应数字和Unicode编码

如‘a’强制类型转换的结果为97

其Unicode编码为\u0061

char s1='a';
int s2=(int)'a';
char s3='\u0061';

类型转换

public class Demo01 {
    //定义一个类变量
    static int salary=2500;
    //定义一
    // 定义两个实例变量
    String name;
    int age;

    public static void main(String[] args) {
        //定义一个局部变量
        int i=10;
        //局部变量
        System.out.println(i);
        //实例变量
        Demo01 demo=new Demo01();
        System.out.println(demo.name);
        System.out.println(demo.age);
        //类变量
        System.out.println(salary);
    }
}

强制类型转换

取值范围大的向小的转换

自动类型转换

在做运算时取值范围小的向范围大的自动转换

​
 int num1=10_0000_0000;
        int years=20;
        int num2=num1*years;
        System.out.println(num2);//num2太大超出范围,发生溢出
        System.out.println((long)num2);//num2已经不是所希望得到的值,此时进行强制类型转换,无济于事
        System.out.println(num1*(long)years);//先将years强制类型转换

​

变量作用域(简单介绍)

public class Demo01 {
    //定义一个类变量
    static int salary=2500;
    //定义一
    // 定义两个实例变量
    String name;
    int age;

    public static void main(String[] args) {
        //定义一个局部变量
        int i=10;
        //局部变量
        System.out.println(i);
        //实例变量
        Demo01 demo=new Demo01();
        System.out.println(demo.name);
        System.out.println(demo.age);
        //类变量
        System.out.println(salary);
    }
}

类变量

  • 前加static关键字的变量
  • 在方法外,类内进行声明
  • 作用域与生存期为整个类
  • 使用方法与实例变量不同,可在类内直接使用

实例变量

  • 在方法外,类内进行声明
  • 作用域与生存期为整个类
  • 从属于对象
  • 如果不对实例变量进行初始化,所有数值类型默认为0或0.0;字符型默认u0000;布尔型默认flase;出基础类型外,其余默认值为null。
  • 使用方法与C语言中结构体变量内定义的变量类似,如上。

局部变量

生存期与生存期在定义该变量的方法内

常量

常量是一种特殊的变量,常量一旦被定义之后不能再改变

定义常量使用  final  关键字

一些命名规范

驼峰原则   命名规范,组合词命名第一个词小写,后面的词大写,如月薪monthSalary

常量全部字母大写,以下划线分隔组合词

类名首字母大写,驼峰原则

数学类的使用

在Java中“^”运算符并不表示幂运算,表示异或,因此,我们不能通过使用该运算符求幂

我们需要通过使用Math类中的pow方法进行实现

不同于C语言中引入头文件的方式,在Java中我们通过Math.pow(x,y)方式使用,如计算3的2次幂

int number=Math.pow(3,2);
System.out.println(number);

逻辑运算符中的短路运算

对x&&y进行运行时,若x结果为false,则y不再被运行

int x = 1;
int y = 2;
System.out.println(x == 3 && y++ < 1);
//x == 3的值为flase,则y++不被运行,y值仍为2
System.out.println(y);

位运算符

对二进制数进行操作

& | ^ ~

A0011   1100
B0000   1101
A&B0000   1100
A|B0011   1101 
A^B0011   0001
~B1111   0010

左移<<   右移>>

某数变为二进制后,对所有1进行移动

左移     该数*2

右移     该数/2

字符串连接符

“+”可作为字符串连接符将前后字符串连接

使用字符串连接时,若加号左右存在基本数据类型,则可能被转换为字符串进行拼接

int a=10;
int b=30;
System.out.println(" "+a+b);
System.out.println(" "+b+a);

此时,第一次输出结果为1030,第二次为3010

若“  ”位置改变,情况不同

System.out.println(a+b+" ");
//a与b先算数相加,再转换为字符串

此时,输出结果为40

三元运算符

形式如   x?y:z

如果x==true,结果为y,否则结果为z。

int score = 50; 
String type = score > 60 ? "及格" : "不及格";

包机制

.*通配符

在使用import导入包时,结合.*可导入该包中所有的类

JavaDoc

JavaDoc用于生成API文档

JavaDoc基于文档注释

/**
*@author  作者名
*@version  版本号
*@since 指明需要最早使用的JDK版本
*@param 参数名
*@return 返回值情况
*@throws 异常抛出情况
*/

利用控制台生成API文档

在代码文件夹打开控制台,输入指令

javadoc -encoding UTF-8 -charset UTF-8 文件名.java

文件夹中生成文档,打开index.html文件查看

利用IDEA生成API文档

在IDEA中点击Tools,点击Generate javadoc,点击Generate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值