Day02变量,运算,及流程控制

Day02

变量的分类

按数据类型

  • 基本数据类型(primitive type)
    • 数值型
      • 整型(byte<1>,short<2>,int<4>,long<8>)
        • 浮点型(float<4>,double<8>)
    • 字符型(char<2>)
    • 布尔型(boolean)
  • 引用数据类型(reference type)
    • 类(class)
    • 接口(interface)
    • 数组([])

tips: boolean 被编译为int类型,占4字节

boolean数组,编码为byte数组,每个boolean占 1字节

long型常量通常在后面加上 l 或者 L,java默认整型常量为 int 型

浮点型变量表示形式 有:十进制(必须有小数点),科学计数法(带E)

float:-3.403E38~3.403E38

double:-1.798E308~1.798E308

ps:float 类型常量后面是否必须加 f √,否则认为是double类型的常量,然后无法转换成float

对于整型常量,默认为int

对于浮点型常量,默认为double

字符编码

ASCII码

8位码,共计 128 个字符,包括 32 个不能打印的控制字符,只占用 后7位,第一位统一规定为0。

缺点:不能表示所有;不同语言表示的不同。

UNICODE码

UTF-8

类型转换

自动类型提升

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

  • byte,short,char 三者任意两个做运算,结果总是int型

  • 上述三个相同类型的任意两个做运算,结果亦为int,比如char+char,又比如byte+byte

long l = 123123;// 此处自动类型提升
long l2 = 123123123123;// 报错
long l3 = 123123123123L;// 正常

强制类型转换

(类型)变量名 // 与C语言类似

  • 无精度损失
  • 有精度损失

整型和浮点型内部从高到低的类型转换总是不被允许

整型和浮点型之间的类型转换会发生类型提升或者降低

Boolean类型无法转换为double!!

String字符串

声明

使用双引号:“”;

定义

可以接受其他各种类型的数据(对么?)(可以与八种基本数据类型进行运算且运算只能是连接运算

实例1

"hello" + 3 + 4 // hello34
3 + 4 + "hello" // 7hello

注意

不能用一般方法把String转换为其他类型,可以使用某些特殊的方法

关于进制

所有数字在计算机底层都以二进制存储

  • 二进制(binary):常量 以 0b 或 0B 开头。
  • 十进制(decimal)
  • 八进制(octal):常量以 0 开头。
  • 十六进制(hex):常量以 0x 或 0X 开头,A-F不区分大小写。

运算符

  • 算术
  • 赋值
  • 比较
  • 逻辑
  • 三元

与C语言类似

位运算符(直接对整数的二进制进行的运算)

  • << 左移(在一定范围内,左移1位相当于 *2)
  • >> 右移(在一定范围内,右移1位相当于 /2)
  • >>> 无符号右移
  • & 与
  • | 或
  • ^ 异或
  • ~ 取反

Attention:无<<<

Attention:如果移位运算的另一个操作数为负值,则结果总是 0

eg:2 << -1 ~ 0

三元运算符

(条件表达式)?(表达式1):(表达式2)

其基本用法与C语言类似,可以嵌套

运算符的优先级

下附图,仅供查阅

image-20210121200404194

单目运算符,三元运算符,赋值运算符 从右向左运算

小括号的优先级最高

程序的流程控制

顺序

整体上,程序是顺序执行的

分支

  • if-else(条件判断结构)(类似与C语言中的使用)
  • switch-case

循环

  • while
  • do-while
  • for
    • foreach(jdk1.5 方便遍历数组,集合)

上述为基本流程结构

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值