Java基础语法

时间:2021-04-28 12:15:31   收藏:0   阅读:0

Java基础语法

狂神说Java

注释

Java中的注释有三种:

单行注释:// line

多行注释: /* 内容 */ block

文档注释:/** +回车 自动输出

标识符

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

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

  3. 标识符都是大小写敏感的。

数据类型

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

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

基本类型(Prinmitive type)

数值类型

Boolean类型

占一位,其值只有true和false;

引用类型:

整数类型拓展

进制:

int data1=0b10;//二进制
int data2=10; //十进制
int data3=010;//八进制
int data4=0x10;//十六进制

浮点类型拓展

!!!最好完全避免使用浮点数进行比较(原因是float和double直接存在精度问题)

float data1=0.1f;
double data2=0.1;
System.out.println(data1==data2);
//输出结果为false,

字符类型拓展

所有字符的本质还是数字;

编码 Unicode 2个字节 0~21?(65536);

char data2=‘\u0062‘;//输出是b
String data1=new String("hello");
String data2=new String("hello");
String data3="hello";
String data4="hello";
System.out.println(data1==data2);//输出为false
System.out.println(data3==data4);//输出为ture

类型转换

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

低————————————————>高

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

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

注意点:

  1. 不能对boolean类型的值进行转换;

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

  3. 再把高容量转到低容量的时候,强制转换;

  4. 转换的时候可能存在内存溢出,或者精度问题;


操作比较大的数的时候,注意溢出问题;JDK7新特性,数字之间可以用下划线分割;

int money=10_0000_0000;//下划线不会被输出
int years=20;
int total=money*years;
long total2=money*(long)years;
System.out.println(money);
System.out.println(years);
System.out.println(total);//输出-1474836480,计算发生了溢出
System.out.println((long)total);//输出同上,因为money和years默认是int类型,转换之前就已经出现问题了所以这样解决不了
System.out.println(total2);//输出正常。所以碰到此类问题可以先把一个变量改下数据类型即可

变量

Java是一种强类型语言,每一个变量都必须声明其类型;

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

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型;

  2. 变量名必须是合法的标识符;

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

变量作用域:

类变量、实例变量、局部变量

public class Demo1 {
   //类变量,可以直接在此类的方法中应用
   static double salary=2500;
?
   //实例变量,从属于对象;若不自行初始化,则系统默认使用这个类型的默认值
   //布尔值的默认值式false!!!
   //除了基本类型,其他的默认值都是null
   String name;
   int age;
?
   public static void main(String[] args) {
?
       //局部变量:必须声明和初始化值
       int i=10;
       System.out.println(i);
?
       //实例变量
       //变量类型 变量名 =new 变量类型();
       Demo1 d1=new Demo1();
       System.out.println(d1.age);
       System.out.println(d1.name);
?
       //类变量
       System.out.println(salary);
?
  }
}

 

常量

常量初始化后将不再改变值(常量是不可变动的值);

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

关键词:final 语法:final 常量名=值;

常量名一般用大写。

修视符不存在先手顺序

public class Demo02 {
?
   final static double PI=3.14;
   static final double PI2=3.14;
   public static void main(String[] args) {
       System.out.println(PI);
       System.out.println(PI2);
       //PI的输出值与PI2的输出值相同无变化
  }
?
}

变量命名规范

  1. 所有变量名、方法、类名要见名知意;

  2. 类成员变量:首字母小写和驼峰原则;例如:monthSalary;除了第一个单词以外,后面的单词首字母大写。

  3. 局部变量:首字母小写和驼峰原则;

  4. 常量:大写字母和两单词之间用下划线连接,例如:MAY_VALUE;

  5. 类名:首字母大写和驼峰原则;

  6. 方法名:首字母小写和驼峰原则;

运算符(operator)

Java语言支持如下运算符:

不同的数据类型做二元运算的结果

package operator;
?
public class Demo02 {
   public static void main(String[] args) {
       long a=1234151515L;
       int b=123;
       short c=10;
       byte d=8;
       double e=10.4;
       System.out.println(a+b+c+d);//输出结果为long类型
       System.out.println(b+c+d);//输出结果为int类型
       System.out.println(c+d);//输出结果为int类型
       System.out.println(a+b+c+d+e);//输出结果为double类型
       /*
       高一级的数据类型与低级的数据类型做运算时,得出的结果是高级的数据类型
        */
  }
}

自增、自减以及Math中的幂运算

package operator;

public class Demo03 {
    public static void main(String[] args) {
        // ++  -- 一元运算符
        int a=3;

        int b=a++;//a++ a=a+1 执行完代码后,先给b赋值,在自增,
        //a=a+1;
        System.out.println(a);//输出结果为a,a++相当于隐藏了上面一行的代码,++a相当于隐藏了下面一行的代码
        //a=a+1;
        int c=++a;//++a a=a+1 执行完代码后,先自增,后赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 2的3次方 很多运算使用工具类操作
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}

逻辑运算符

&&运算中会出现短路运算,当程序运行碰到假后,&&后面的代码将不在执行。

位运算

与二进制有关,效率高

2*8最快得出结果:2<<3;

字符串连接符

int a=10;
int b=20;
//  + 为字符串连接符
system.out.println(""+a+b);//输出结果为1020,即""后方+号所连接的会产生拼接效果而非算数运算
system.out.println(a+b+"");//输出结果为30,反之则会产生算数运算;

三元运算符

x?y:z;//如果x==true,则结果为y,否则结果为z

包机制

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

Java Doc(文档注释)

参数信息

通过使用命令行生成java doc文档

命令格式 :文件路径 javadoc -encoding UTF8 -charset UTF8 xxx.java

-encoding UTF8 -charset UTF8:字符编码

xxx.java:需要导出javadoc的Java文件名

 

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!