java基础语法(查漏补缺)

java基础语法

注释、标识符、关键字

注释

单行注释//…

多行注释/*… */

文档注释/**… */

标识符

大小写敏感

数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

弱类型语言

Java的数据类型分为两大类

基本类型(primitive type)

基本类型

long num4 = 30L;//long类型在数字后面加L(大写!)

float num5 = 50.1F;
double num6 = 3.1415926535897;

String name = "qry";//String不是关键字,而是一个类

基本类型只有八个

引用类型(reference type)

类、接口、数组

ps.电脑32位与64位的区别:寻址能力不同。

32位电脑最大内存4GB、64位电脑内理论上可以无限大。

//整数拓展:进制 2:0b/10/8:0/16:0x
int i = 10;
int i2 = 010;//8
int i3 = 0x10;//16

System.out.println(i);
System.out.println(i2);
System.out.println(i3);

//浮点数拓展
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);

输出:
false
0.1
0.1
float f1 = 131546546546f;
float f2 = f1 + 1;
System.out.println(f1==f2);

输出:
true

浮点数不能精确的表示数值,有舍入误差,不能用于比较和表示货币

  • BigDecimal 数学工具类

//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制类型转换
System.out.println(c2);

所有字符本质都是数字 Unicode 2字节 65536=2^16(Excel就这么长)
Unicode表:每个字符对应一个数字 范围是U0000~UFFFF

char c3 = '\u0061';
System.out.println(c3);//a

ASCII是单字节编码,Unicode最常用的是用两个字节表示一个字符

  • 转义字符
转义字符对应内容
\n换行
\t水平制表符

//布尔值扩展
boolean flag = true;
if (flag) {}//老手
if (flag == true) {}//新手
//less is more 代码要精简易读

类型转换

转换顺序

强制类型转换
int i = 128;
byte b = (byte)i;//内存溢出

System.out.println(i);
System.out.println(b);

//强制转换 (类型)变量名

out:
128
-128
自动类型转换

按强弱直接转换。

注意:

  • 不能对布尔值进行转换

  • 不能把对象类型转换为不相干的类型

  • 转换的时候可能存在内存溢出或精度问题

  • 操作比较大的数的时候注意溢出问题

    int money = 10_0000_0000;
    //JDK7新特性,数字之间可以用_分割
    int years = 20;
    int total = money * years;
    //-1474836480,计算的时候溢出了
    long total2 = money * yeas;
    //仍然溢出,因为作为int计算
    
    long total3 = money *((long)years); 
    

变量

变量是一块空间,它的位置是确定的,放什么东西是不确定的。

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

变量作用域

类变量
实例变量
局部变量
public class Variable{
    static int allClicks = 0;//类变量 static
    String str = "hello world";//实例变量:从属于对象; 方法的外面,类的里面; 布尔值默认false
    
    public void method(){
        int i = 0;//局部变量:在方法和代码块里使用;必须声明和初始化值
    }
}

实例变量:布尔值默认false;除了基本类型,其他的默认值都是null

常量

final 常量名 = 常量值;

常量名一般使用大写字符。

final、static等修饰符不存在先后顺序。

变量的命名规范

所有变量、方法、类名:见名知章

类成员变量:首字母小写和驼峰原则(从第二个单词开始首字母大写)

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

常量:大写字母和下划线

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

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

运算符

idea快捷键:ctrl + D 复制当前行到下一行

2 * 8 怎么运算最快

<<左移*2 >>右移/2

2<<3: 10–>10000

int a = 10;
int b = 20;
System.out.println(a + b);
System.out.println(""+a+b);//含有字符串,+就是字符串连接符
System.out.println(a+b+"");//从字符串往后开始连接

30
1020
30

包机制、JavaDoc

包机制:文件夹
Javadoc:将注释生成文档,生成自己的API文档
/**enter
命令行:javadoc 参数 java文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值