Java基础语法与流程控制

2021/4/15 20:26:52

本文主要是介绍Java基础语法与流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java基础语法与流程控制

跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯

志同道合的小伙伴可以一起学习狂神的视频

本节地址:https://www.kuangstudy.com/course/play/1317504142650658818

java基础语法

1. 注释

​ Java注释有单行注释多行注释文本注释三种

  • 单行注释:用双斜线//后面跟要注释的内容

    eg://我是一条注释

  • 多行注释:用/*开始,用*/结束,在中间写注释的内容

    eg:

    /*多行注释
    我是一条注释
    我也是一条注释
    我也是一条注释
    */
    
  • 文本注释(用于JavaDoc注释):/** */

    eg:

     /**
     * @Description HelloWorld
     * @Author yl
     */
    

2. 关键字和标志符

  • 关键字

  • 标志符

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

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

    • 首字母之后可以是字母,美元符,下划线,数字的自由组合

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

    • Java对大小写敏感!

3. Java数据类型

  • 八大基本类型

    //八大基本类型
    int num1=220000000;	//占4个字节
    byte num2=100;	//占1个字节
    short num3=10000;	//占2个字节
    long num4=234239809L;//long类型要在数字后面加一个L  占8个字节
    
    float num5=30.5F;//float在数字后面加一个F
    double num6=4.14242353423;
    
    char name='狂';  //占1个字节
    boolean flag=true;  //占1个字节
    
  • 引用类型

    类,接口,数组

4. 数据类型扩展

//整数拓展: 进制 二进制0b    十进制     八进制0    十六进制0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("================================");

//================================
//浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//false

float d1=2342342345823478324234F;
float d2=d1+1;
System.out.println(d1==d2);//true

//================================
//字符拓展
//================================
System.out.println("================================");
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c1);

//所有的字符本质还是数字
//编码 Unicode 表:(97=a 65=A)  2字节
//U000 UFFF
char c3='\u0061';
System.out.println(c3);//a

//转义字符
// \t 制表符
// \n 换行
System.out.println("Hello\nWorld!");

5. 类型转换

//强制类型转换  高->低
//自动转换   低->高

/*注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出或者精度问题
* */

6. 变量,常量,作用域

​ 变量:会变的量(类变量,实例变量,局部变量)

​ 常量:不会变的量

​ 作用域:作用范围

​ eg:

public class Demo06 {
    //类变量 static
    static double salary = 2500;

    //属性 :变量

    //实例变量:从属于对象;如果不自行初始化,则为这个类型的默认值 0 0.0 u000
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量,必须声明和初始化值
        int i=10;
        System.out.println(i);

        //变量类型 变量名字 = new Demo06();
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);
        System.out.println(demo06.name);

        //类变量
        System.out.println(salary);
    }
    //其他方法
    public void add(){

    }
}

变量命名规范:

/**变量命名规范
 *所有变量、方法、类名:见名知意
 *类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
 *局部变量:首字母小写和驼峰原则
 *常量:大写字母和下划线:MAX_VALUE
 * 类名:首字母大写和驼峰原则:Man,GoodMan
 * 方法名:首字母小写和驼峰原则:run(),runRun()
 */

7. 基本运算符

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

  • 赋值运算符:=

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

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

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

  • 条件运算符:?:

  • 扩展赋值运算符:+=,-=,*=,/=

    需要注意的是除法/,整数的除法是向下取整的

    int a=5/3;
    System.out.println(a);//输出的是1
    

8. 自增自减运算符

//++ --  自增,自减  一元运算符
int a = 3;

int b = a++;
int c = ++a;

System.out.println(a);//a=5
System.out.println(b);//b=3
System.out.println(c);//c=5

​ 拿上面的代码进行说明:

​ ++表示自增即自己+1,但是放在前面和放在后面效果是不一样的:

int b=a++;其实相当于int b=a;a=a+1; ,也就是先把a的值赋给b,再把a的值增加1;

int c=++a;其实相当于a=a+1; int c=a;,因此是先把a的值加1,然后再赋给c;

​ 那么上面的代码转化一下就是:

int a = 3;

int b = a;//此时b=3;
a=a+1;//此时a=4;

a=a+1;//此时a=5;
int c = a;//此时c=5;
System.out.println(a);//a=5
System.out.println(b);//b=3
System.out.println(c);//c=5

因此会输出5 3 5

9.逻辑运算符与位运算符

  • 逻辑运算符:&&,||,!(与,或,非)

    &&:逻辑与,二者同时成立结果为真,否则为假

    ||:逻辑或,只要有一个为真结果就为真,否则为假

    !:逻辑非:对原来的结果取反,真变假,假变真

    特别注意:&&和||都具有短路运算的性质

    所谓短路性质:例如A&&B,当A已经判断出是假了,就不会再判断B了,因为不管B是真是假,结果都是假,同理A||B,当A判断为真也不会再判断B了,因为只要有一个为真结果就是真。

    eg:

    //短路运算
    int c = 5;
    boolean d= (c<4) && (c++<5);//因为前面已经判断为false了,&&的结果肯定为false,后面的条件不用再判断
    System.out.println(d);//false
    System.out.println(c);//5
    
    //下面同理短路运算
    int e = 5;
    boolean f = (e<6) || (e++<7);
    System.out.println(f);//true
    System.out.println(e);//5
    
  • 位运算符:&,|,^,~,<<,>>,

    位运算符都是对二进制位进行操作的。

    &:按位与:两个数逐位进行与运算,每一位的规则为二者都为1结果为1,否则为0

    |:按位或:两个数逐位进行或运算,每一位的规则为二者至少有1个1结果为1,否则为0

    ^:按位异或:两个数逐位进行异或运算,每一位的规则为相同为0,不同为1

    ~:按位非:二进制每一位0变1,1变0

    A = 0011 1100
    B = 0000 1101
        
    A&B =0000 1100
    A|B =0011 1101
    A^B =0011 0001
    ~B = 1111 0010
    

    <<:左移

    左移n位相当于乘以2的n次方

    >>:右移

    右移n位相当于除以2的n次方

    位移操作会比乘除法效率高很多

10. 三元运算符

​ "? :"是一个三元运算符,相当于if else

eg: int c=a>b?a:b;的意思相当于以下语句:

if(a>b){
    c=a;
}
else{
    c=b;
}


这篇关于Java基础语法与流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程