Java基础学习笔记

java基础笔记

关键字

Java赋予某些字符特殊的含义

像class public 等等

标识符

  1. 只能以大小写字母、$、下划线开头, 首字符后随意
  2. 不能使用关键字
  3. 大小写敏感

数据类型

基本数据类型

数值类型
整数类型
Byte  占1个字节 -127-128

short2个字节 

int4个字节

long8个字节
浮点类型
float4个字节
double8个字节  
字符类型
char2个字节
布尔类型
boolean 占一位  只有两个值 true false     

引用类型

接口
数组

字节相关

位(bit):计算机中数据存储最小单位

字节(byte)计算机中数据处理的基本单位 B表示

1B=8bit

1024B=1KB

1024KB=1M

1024M=1G

拓展知识

整数拓展

进制 二进制0b 十进制 八进制0 十六进制0x

浮点数拓展

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

像银行业务 会用到数学工具类 BigDecimal

字符拓展

所有的字符本质还是数字

char c1='a';
char c2='字';
int i1=(int)c1;//强制转换
int i2=(int)c2;//强制转换

//编码 Unicode 2字节

char c3='\u0061';

转义字符

// \t 制表符 
// \n 换行

类型转换

不同类型的数据 先进行转换在进行计算

---------------------------------------------byte,short,char -> int -> long -> float -> double

注意点

  1. 不能对布尔类型进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 高转低时 需要强制转换 :(类型)变量 ,低转高 自动转换
  4. 转换的时候可能会存在内存溢出,或者精度问题
//操作比较大数字时 注意溢出
int money = 10_0000_1000;
int year = 20;

long total = money*year;//错误  输出结果会溢出 转换之前已经存在问题 
long total = money*((long)year);//正确

//精度问题
double d = 20.20;
int i = (int)d;//结果为20 精度丢失

变量 常量 作用域

变量

变量就是可以变化的量,是程序中最基本的存储单元,要素包含变量名、变量类型、作用域

变量作用域

  1. 类变量:写在类里 用static修饰
  2. 局部变量:写在方法中,必须初始化值
  3. 实例变量 :写在类里,不用static修饰

常量

初始化后不会在改变的值,一般用大写字符表示,用final 修饰

运算符

工具类:Math

  • 算数运算符 + ,- ,*, / ,++, – ,%
  • 赋值运算符 =
  • 关系运算符<,>,>=,<=,!=,==
  • 逻辑运算符 && ,||, !
  • 条件运算符 ?:
  • 位运算符 & ,|,^,~,>>,<<
  • 扩展赋值运算符 +=,-=,*=,/=

如果多种基本类型进行加减的时候 有long 的类型 结果就为long 的类型 ,没有的话结果为int类型

a&&b 存在短路运算 a如果为假,b不会执行

int a = 1;
int b = a++;//先赋值后自增
int c = ++a;//先自增后赋值
//结果
a = 3; b = 1; c = 3
//二进制 效率高
A = 0011 1100
B = 0000 1101
  
A&B = 0000 1100 两个都为1 才是1 否则为0
A|B = 0011 1101 两个都为0 才是0 否则为1
A^B = 0011 0001 两个相同为0 否则为1
~B = 1111 0010>>右移 /2  8>>2 = 2
<<左移 *2  2<<3 = 16
//字符串连接符 +
int a = 10;
int b = 20;
String s1 = ""+a+b;
String s2 = a+b+"";
//结果
s1 = 1020;
s2 = 30;
//x?y:z
//x为true 结果为y,否则为z
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值