【学习笔记】java基础语法

目录

1. 注释

2. 标识符

3. 数据类型

4. 类型转换

5. 常量

6. 数学函数

7. 关系和boolean运算符、位运算符

8. 包机制


正文

1.注释

1.1单行注释

 //单行注释

1.2多行注释

 /*
        多行注释
         */

1.3文档注释
既可以为类生成文档注释,也可以为方法生成文档注释

/**
 * @author 作者名
 * @version 版本号
 * @since 最早使用的jdk版本
 * @param 参数名
 * @return 返回值
 * @throw 异常抛出情况
 */

2. 标识符

  • 任何变量、方法都有一个名字,这个名字就是标识符
  • 所有的标识符都由字母、美元符号 $ 、数字或者下划线组成,且只能以字母、$或者下划线开始。
  • 标识符大小写敏感
  • 不建议中文命名

3. 数据类型

3.1 java数据类型分为基本类型和引用类型
在这里插入图片描述

3.2 各数值类型的表示范围
byte:[-128,127]
short:[-32768,32767]
int:[-2147483648,2147483647]
long:[-9223372036854774808,9223372036854774807]

数字后加L表示long型的整数

 long l=30l;

小数后加F表示float型,不加F默认double类型

  float f=30F;

3.3 各进制的表示
二进制 0b整数

  • 十进制 整数
  • 八进制 0整数
  • 十六进制 0x整数

避免使用浮点数进行比较,浮点数不能提供完全精确的结果,所以不应该被用于要求精确结果的场合。当需要精确计算时需要用BigDecimal类


4. 类型转换

低-------------------------------> 高
byte,short,int,long.float,double

4.1 强制类型转换 (高转低,可能会溢出或者精度问题)
格式:(强转类型)变量

int a=128;
byte b=(byte)a;//内存溢出
double d=2.5;
int a=(int)d;//精度问题

4.2 自动类型转换(低转高)

byte a=1;
int b=a;
  • 不能将整型转换为boolean
int a=10;
        if(a=10){
            
        }
  • 不能转为不相关的类型

  • JDK7新特性,数字之间可以用下划线分割

int a=10_0000_0000;
System.out.println(a);
  • 所有数值类型的初始化为0或0.0

  • boolean默认false

  • 其他类型默认null

  • 常见溢出问题

  int a = 10_0000_0000;
    int b = 20;
    double c=a*b;
    System.out.println(c); 

输出:-1.47483648E9
原因是a*b运算时已经溢出

解决措施

int a = 10_0000_0000;
int b = 20;
double c=a*(double)b;
System.out.println(c);

输出:2.0E10

5. 常量

5.1 java中使用final表示常量,常量只能赋值一次,常量名习惯上大写

final int PI;
   PI=4;
   PI=6;//错误

补充
静态方法只能调用静态方法,只能使用类中的静态变量

5.2 命名规范

  • 类成员变量、局部变量、方法名首字母小写驼峰原则
  • 类名首字母大写驼峰原则
  • 常量大写

6. 数学函数

Math类包含各种数学函数

6.1 求平方根sqrt函数
函数原型 static double sqrt( double a )

double y=Math.sqrt(4);
      System.out.println(y);

6.2 幂运算
函数原型 static double pow(double a,double b ) ab

6.3 整数余数的问题
函数原型 public static int floorMod(int x, int y )

int x=5;
int y=Math.floorMod(x+1,6);//将x+1转换为0~5的数
       System.out.println(y);

输出:0

6.4 三角函数
Math,sin
Math.cos
Math.tan
Math.atan
Math.atan2

6.5 指数函数、对数函数
Math.exp
Math.log
Math.logl0
Math.PI π 常量的近似值
Math.e e 常量的近似值

使用Math类的方法可以不用加Math,在package下面导入包即可
import static java.lang.Math.*;

7. 关系和boolean运算符、位运算符

7.1 关系运算符 <,>,>=,<=,!=,==
7.2 boolean运算符&&,||按照短路求值,具体就是condition1 && condition2 ,condition1为假,则表达式为假,condition2不再执行.
7.3 位运算符 &,|,>>,<<
&和|也可以作为boolean运算符,不采用短路求值。
<<,左移,低位添0,符号位不变。 >>右移,符号位不变

8. 包机制

为了解决同一个文件夹下同名的冲突,java引入了包机制,包实际上就是文件夹,不同包下可以建重名的类。
一般将公司的域名的倒置作为包名.
package [包名];此语句必须写在第一行

导包:当需要用其他包的类的方法就需要导包
import 包名.类名;
导入其他包所有的方法
import 包名.*;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值