JavaSE基础01 2021.4.26

4月25日周日因为家里的事情没能抽出时间学习,在此深深谴责自己,不过知识还是要继续去获取的,加油奥利给!
还有之前因为markdown图片复制到博客加载不出来的问题困扰了很久,暂时还没想到什么办法,就先在博客上直接写8

为了之后方便管理,建一个空项目
在这里插入图片描述

  • 新建一个模块
    在这里插入图片描述
    在这里插入图片描述
  • 打开项目结构,保持这两个值为8,配好环境,不然标红运行不了

在这里插入图片描述

  • 然后新建class就可以开始写啦
    在这里插入图片描述

1注释

书写注释是一个非常好的习惯
平时写代码一定要注意规范

//单行注释,只能注释一段文字
/*
多行注释
多行注释
多行注释
可以注释一段文字
*/
/** 
 * JavaDoc:文档注释
 *有功能,可以加参数,例如
 *@Description HelloWorld
 */

注释可以按自己喜好调整颜色
在这里插入图片描述在这里插入图片描述

2标识符

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

  • 关键字

在这里插入图片描述

标识符注意点

  1. 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始,例如:
  • Ahello
  • hello
  • $hello $salary
  • _hello _1_value
  1. 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
  2. 不能使用关键字作为变量名或方法名
  3. 标识符是大小写敏感的,比如变量Man和man是不一样的东西
  4. 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音

3数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
    Java、C++
    安全性高、速度会慢

  • 弱类型语言:JavaScript、VBScript

Java的数据类型分类
  • 基本类型(primitive type)
    在这里插入图片描述
//八大基本数据类型

//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 =30;
long num4 = 30L;  //Long类型要在数字后面加个L

//小数:浮点数
float num5 = 50.1F;  //float类型要在数字后面加个F
double num6 =3.14159265358979;

//字符
char name ='A';  //字符用单引号
//字符串,String不是关键字,是类
String name2 = "碧咸";  //字符串用双引号

//布尔值:是非
boolean flag = ture
  • 引用类型(reference type):类、接口、数组
字节
  • 位(bit):是计算机内部数据储存的最小单温,11001100是一个八位二进制数。
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
  • 字符:是指计算机中使用的字母、数字、字和符号
  • 1bit表示1位,1Byte表示一个字节1B=8b
  • 1024B=1KB,1024KB=1M,1024M=1G,1024G=1T

思考:电脑的32位和64位的区别是什么呢?
寻址能力。32位最大支持4G内存;’64位理论上支持128G内存。

4数据类型拓展

  • 整数拓展 :
    进制问题:二进制0b;十进制;八进制0;十六进制0x
int i = 10;
int i0 = 0b10;
int i2 = 010;
int i3 = 0x10;
  • 浮点数拓展:银行业务怎么表示?钱
float f = 0.1fdouble d = 1.0/10;
System.out.println(f==d); //输出结果为false

float d1 =23232323232323f;
float d2 = d1+1;
System.out.println(d1==d2); //输出结果为ture

float 有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较

回到问题:银行业务用 BigDecimal 数学工具类

调试
  1. 运行到这里停止
    在这里插入图片描述
  2. 点击Debug进行调试
    在这里插入图片描述
  3. 然后出现调试窗口
  • 字符拓展
char c1 ='a';
char c2 ='中';
System.out.println(c1); //结果为a
System.out.println((int)c1); //强制转换,结果为97
System.out.println(c2); //结果为中
System.out.println((int)c2);  //强制转换,结果为20013
char c3 ='\u0061';
System.out.println(c3);  // 结果为a

所有的字符本质还是数字
编码 Unicode 如表:97=a 65=A
占2字节,表示65536个字符,U0000~UFFFF

  • 转义字符 \t 制表符 \n换行 …自行学习
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
  • 有待探究 对象 从内存分析
String sa = new String(original:"hello world");
String sb = new String(original:"hello world");
System.out.println(sa==sb);//输出结果为false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//输出结果为true
  • 布尔值拓展 下面两种是同样的意思,但代码要精简易读 Less is more
boolean flag =true; 
if(flag==true){} //新手
if(flag){} //老手

5类型转换

Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算
在这里插入图片描述
小数优先级大于整数

  • 强制类型转换 高–低 (类型)变量名
  • 自动类型转换 低–高
int i = 128;
byte b = (byte)i; //要强制转换
double a = i; //自动转换
System.out.println((int)23.7);//输出结果为23
System.out.println((int)-45.89f);//输出结果为-45
char c ='a';
int d = c+1;
System.out.println(d);//输出结果为98
System.out.println((char)d);//输出结果为b

注意点:

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

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

int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480
long total2 = money*years;//默认是int,转换之前已经存在问题

long total3 = money*((long)years);//先把一个数转换为long

6变量

  • 变量就是可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
    在这里插入图片描述
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,都必须以分号结束

变量作用域

  • 类变量:static ,也称静态变量
  • 实例变量:从属于对象,也叫成员变量;如果不自行初始化,为这个类型的默认值 0;0.0
    布尔值:默认是false;除了基本类型,其余的默认值都是null;
  • 局部变量:必须声明和初始化值
    在这里插入图片描述

常量

初始化后不能再改变值,在程序运行过程中不允许被改变
常量名一般使用大写字符
在这里插入图片描述
修饰符不存在先后顺序,比如下面两个效果相同
static final double PI=3.14;
final static double PI=3.14;

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary、lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man, GoodMan
  • 方法名:首字母小写和驼峰原则:run(), runRun()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值