java基础语法

本文详细介绍了Java的基础语法,包括注释的使用,如单行、多行和文档注释。讨论了标识符的规则,以及整数、浮点数的不同表示方式及其潜在问题。特别提到了浮点数比较时的精度问题,以及字符和字符串的处理。此外,还深入探讨了布尔值、数据转换、变量声明、运算符(包括关系运算和逻辑运算)的用法。最后,文章通过实例解释了变量作用域、常量定义、字符串连接和三元运算符的应用。
摘要由CSDN通过智能技术生成

Java基础语法

注释

  1. 单行注释://注释一行
  2. 多行注释:/* 注释多行*/
  3. 文档注释:/** */

标识符

  1. 字母、数字、下划线、$(数字不能开头)

在这里插入图片描述

在这里插入图片描述

数据类型扩展及面试题讲解

  1. 整数:二进制(0b开头),八进制,十进制,十六进制表示及计算问题。如:

    int a = 10;//十进制 (10)
    int b = 010;//八进制 以0或0~7开头 (8)
    int c = 0x10;//十六进制 以0x开头(0~9 A~F)(16)
    
  2. 浮点数:因为float具有有限、离散、舍入误差的缺点。在进行比较的时候最好完全使用浮点数进行比较,最好使用数学工具类:BigDecimal

    fload f = 0.1f;
    double d = 0.1;
    System.out.println(f==d);//false
    
    fload d1 = 1234567890454566;
    fload d2 = d1+1;
    ystem.out.println(f==d);//true
    
  3. 字符拓展:所有字符的本质还是数字。使用Unicode编码格式,2进制表(U0000-UFFFF).

  4. 一个现在还不理解的小问题

    String s1 = new String("hello world");
    String s2 = new String("hello world");
    System.out.println(s1==s2);//false
    
    String s3 = "hello world";
    String s4 = "hello world";
    System.out.println(s3==s4);//true
    
  5. 布尔值扩展:boolean只有两种返回值true和false,默认返回值为false。

    boolean flag = true;
    if(flag == true){}//新手
    if(flag){}//老手
    
  6. 数据转换(强制转换):在使用强制转换时注意数据溢出问题!

    int money = 1000000000;
    int years = 20;
    int toatal1 = menoy*years;
    System.out.println(total1);//-1474836480  数据溢出
    
    int total2 = ((long)money)*years;
    System.out.println(total2);//20000000000
    
    
  7. ①.常量、变量、作用域

    在Java中,利用关键字final指示常量。关键字final表示这个变量只能被赋值一次,一旦被赋值,就不能再更改了,习惯上,常量名使用全大写。如:

    final double PI = 3.14;
    

    ②.声明变量后,必须用赋值语句对变量进行显示初始化,千万不要使用未初始化的变量。变量的声明尽可能靠近第一次使用的地方。如:

    int a ;//声明一个变量
     a = 1;//赋值初始化int a = 1;//定义一个变量
    

    ③.类变量,类常量(静态常量),定义在main函数外。

    static double salary = 2500;//类常量
    (public) static final double PI = 3.14;//静态常量,修饰符不分先后顺序
    

    ④注意:实例变量:从属对象,如果不进行初始化,这个类型的默认值为0或0.0。

    布尔值:默认值是false。

    除了基本类型,其余默认值都是null。

运算符

  1. 二元运算符:+ 、—、*、/

    int a = 10;
    int b = 20;
    
    System.out.println(a+b);//30
    System.out.println(a-b);//-10
    System.out.println(a*b);//200
    System.out.println(a/(double)b);//0.5(结果出现小数要进行数据转换)
    
    
  2. 关系运算符:返回的结果有true、false。

    int a = 20;
    int b =  23;
    
    System.out.println(a>b);//false
    System.out.println(a<b);//true
    System.out.println(a==b);//false
    System.out.println(a!=b);//true
    
  3. 取余

    System.out.println(a%b);//3
    
  4. ++ —— 自增自减 、一元运算符

    int a = 3;
    int b = a++;
    System.out.println(b);//3  a先把值赋值给q,再自增。
    int c = ++a;
    System.out.println(a);//a先自增,再把5赋值给c
    
    
  5. 幂运算:2^3 = 2 *2 *2 = 8;

    double pow = Math.pow(2,4);
    System.out.println(pow); //16
    
  6. 逻辑运算符:与(and)、或(or)、非(取反)

    boolean a = true;
    boolean b = false;
     System.out.println(a&&b);//false
    System.out.println(a||b);//true
    System.out.println(!(a&&b));//true
    
  7. 短路运算

    		  int v = 5;
            boolean n = (v<4)&&(v++<4);
            System.out.println(n);//false
            System.out.println(v);//5
    
  8. 移位符:

    	A = 0011 1100
       B = 0000 1101
     ______________________________________
       A&B = 0000 1100 
       A|B = 0011 1101
       A^B = 0000 0001 //取反
       ~B = 1111 0010
          
        2^4 = 16 = 2*2*2*2
          << (左移 *2)
          >> (右移 /2)
          
          0000 0000  0
          0000 0001  1
          0000 0010  2
          0000 0100  4
          0000 1000  8
          0001 0000  16
          
      System.out.println(2 << 3);//8
          
    
  9. 扩展运算符:+=、-=

    int a = 10;
    int b = 20;
    
    a += b;//a=a+b
    a -= b;//a=a-b
    
  10. 字符串连接字符串+ , String

    int a = 10;
    int b = 20;		
    System.out.println(a + b);//30
    System.out.println("" + a + b); //1020
    System.out.println(a + b + "");//30
    
  11. 三元运算符

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

    int score = 80;
    String type = score>60 ? "及格" : "不及格";
    System.out.println(type);//及格
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值