java从头攻破——学习笔记2020618(一)

一、数据类型

JAVA是强类型语言,意味着必须为每一个变量声明一种类型。
Java一共有8种基本类型:4种整型、2种浮点型、char、boolean类型。

1. 整型

java 4种整型:

类型存储需求取值范围
int4字节-2147483648~2147483647
short2字节
long8字节
byte1字节

注释:

  • 在java中,所有数据类型占据的字节数据与平台无关。
  • java没有无符号类型

2. 浮点类型

2种:

类型存储需求取值范围
float4字节正负,有效位数为6~7位
double8字节正负,有效位数为15位

3. char

4. boolean 布尔类型

有2个值,true和false。

二、变量

  • 变量名区分大小写

  • 必须对变量进行初始化

  • 常量用final声明,final表示这个变量只能被赋值一次。常量名使用大写。
    static final声明的为类常量,定义在main方法外部。

  • 运算符:/:整数除法或浮点除法;%:求余
    整数/0 异常
    浮点数/0得到无穷大或NaN结果。

  • ++n 先+1再运算;
    n++ 使用变量原来的值

  • 逻辑运算符:与&& 或|| 非!

  • 位运算符:与&,或|,异或 ^,非~,>>向右移位,<<向左移位

  • 数值类型之间的转换
    在这里插入图片描述
    上图实心箭头的无信息丢失转换,虚线有信息丢失

  • 强制类型转换,如

double x=9.9997;
int nx=(int) x;

-枚举类型

三、字符串

字符串变量指向常量池中相应的位置。如复制一个字符串,则原始字符串与复制的字符串共享相同的字符。
共享带来的高效率远高于提取、拼接字符串带来的低效率。

子串

不可变字符串

String类没有提供可以修改字符串的方法,所以将String类对象称为不可变字符串。

String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了 

参考:https://www.cnblogs.com/niew/p/9597379.html

面试常考:String、StringBuffer、StringBuilder的区别
StringStringBufferStringBuilder
每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间类的对象能够被多次的修改,并且不产生新的未使用对象可变类,速度更快
不可变可变可变
线程安全线程不安全
操作少量的数据用 String多线程操作大量数据,用StringBuffer单线程操作大量数据用StringBuilder

在这里插入图片描述
详细:https://blog.csdn.net/itchuxuezhe_yang/article/details/89966303

字符串常量池
堆、栈、方法区

检测字符串是否相等

  s.equals(t) 

一定不能用==,==只能确定2个字符串是否放在了同一个位置上。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值