Java学习之基础语法(三)

计算机常量

常量是指在程序运行过程中其值不能改变的量。"常量"在程序运行时,不会被修改。换言之,常量虽然是为了硬件、软件、编程语言服务,但是它并不是因为硬件、软件、编程语言而引入。
常量区分为不同的类型,如25、0、-8为整形常量,6.8、-7.89为实型常量,‘a’‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

计算机常量有:

  • 整数常量
  • 小数常量
  • 字符常量
  • 字符串常量
  • 布尔常量
  • 空常量

这六类计算机常量在程序运行的时候都会存储到运行时常量池中,且这六类常量的哈希码是固定不变的。

进制及其转换

Java中常见的进制有

  1. 二进制,0-1,满2进1,从jdk1.7开始以0b开头标志二进制数字
  2. 八进制,0-7,满8进1,以0开头
  3. 十进制,0-9,满十进1
  4. 十六进制,0-9,A-F,满16进1,以0x开头

因为计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用 “1” 和 “0” 表示,即二进制表示法,所以在计算机语言中需要重点掌握的是二进制和十进制的转换

不同进制整数转换方法

  • R 进制转十进制(不分整数和小数部分)

        方法:位权加和(将R进制按权展开,再在十进制的数制系统内进行计算)

        举例:28(八进制)-> 24(十进制)
        28 = 2 x 8 ^ 1 + 8 x 8 ^ 0 = 2 x 8 + 8 x 1 = 24

  • 十进制转 R 进制

        方法:除基取余法(最后余数为最高位)

        举例:13(十进制)->1101(二进制)
        13 / 2 = 6 (余数为1)
        6 / 2 = 3 (余数为0)
        3 / 2 = 1(余数为1)
        1/2 = 0(余数为1)最高位
        将余数从下向上写在一起就答案: 1101

变量

java中的变量是程序中最基本的存储单元,在工作中变量的命名尽可能见名知意,按照所工作地方的要求定义变量,常见的变量命名是小写,变量的本质其实是内存中的一小块区域,使用变量名来访问这块区域。

变量的特点是:

  1. 变量先声明后使用
  2. 变量先给值后使用
  3. 变量在哪儿在哪儿用

数据类型及其转换 

java中的数据类型常分为基本数据类型和引用类型。

基本类型有

  • byte - 字节型 --- 1个字节 ----长度为128~127 --- 多种情况选择
  • short - 短整型 --- 2个字节 ----长度为215~215-1
  • int - 整型 --- 4个字节 ----长度为231~231-1 ---  整数默认为int
  • long - 长整型 --- 8个字节 ----长度为263~263-1 --- 时间,系统运行参数,内存 --- 以L作为结尾标志
  • float - 单精度 --- 4个字节 ----长度为1038~1038 --- 要求以F作为结尾
  • double --- 双精度 --- 8个字节 ----长度为10308~10308 --- 小数默认为double --- 科学计数法
  • char --- 字符型 --- 2个字节 ---长度为0~65535
  • boolean --- 布尔型 --- 现在boolean类型基本上是占用了4个字节

引用类型

  • 类-class
  • 接口-interface

基本数据类型之间的数据类型转换常见以下规律:

  • 隐式转换:小转大,整转小---整数转化为小数的时候会产生精度损失
  • 显式转换:小转整,大转小---小数转整数的时候会舍弃所有的小数位;一个大的整数转化为一个小的类型的时候可能也会产生精度损失,如下:

int i = 200;

byte b = (byte)i; -> -56

运算符

java中的运算符可分为;算术运算符、赋值运算符、关系运算符、比较运算符、逻辑运算符、位运算符、三元运算符。不同分类的运算符混合使用时遵循一定的优先级,运算符的优先级大体为: 一元运算 . () ! ~ ++ -- > 二元运算 > 三元运算 > 赋值运算

总结可概括为一句话:单目乘除为关系,逻辑三目后赋值。

这句话的解释为:

单目(单目运算)又叫一元运算符,其中有逻辑非运算符:.()!、按位取反运算符:~、自增自减运算符:++, --等。;

乘除(算数运算9个)+  -  *  /  %

位(位运算7个)&  |  ~(取反)  ^  >>  <<  >>>;&两个都为1才为1;|两个都为0才为0

关系(关系运算6个)==  !=  >  >=  <  <= instanceof

逻辑(逻辑运算6个)&&  ||  !  ^  &  |

三目(三目运算)x? y:z  x若x为true,结果显示y,若x为false,则结果显示z.;

后(没有你意义,占位用);

赋值(赋值运算)= += -= *= /= %= &= |= ^= <<= >>= >>>=。(byte/short/char也可以参与赋值运算)

byte/short/char在运算时会自动提升为int。

整数运算成之后的结果一定是整数。

整数/0------算术异常

非零数字/0.0或者小数/0---infinity0/0.0--------NaN。

取余结果看%左边的运算符。

各类运算符的具体描述如下: 

  • 算术运算符:+ - * / % ++ --

byte/short/char在运算的时候会自动提升为int

整数运算完成之后的结果一定是整数

整数/0 -> 算术异常  非零数字/0.0 或者是 小数/0 -> Infinity  0/0.0 -> NaN

取余结果看%左边的符号

++/-- 在前表示先自增/自减然后参与后续运算;++/-- 在后先参与运算再自增/自减

byte/short/char可以参与++/--

  • 赋值运算符:= += -= *= /= %= &= |= ^= <<= >>= >>>=

除了=以外,其余的都是在本身的基础上运算

除了=以外,其余的都要求变量先有值才能使用

byte/short/char可以参与赋值运算

  • 关系运算符/比较运算符:== != > < >= <= instanceof

instanceof用于判断对象与类的关系

“abc” instanceof Object -> true

  • 逻辑运算符:& | ! ^ && ||

^的运算规则:true^true = false^false = false; true^false=true

&&和|| 的短路特性:||能把&&给短路掉

  • 位运算符:& | ^ << >> >>> ~

针对的整数的补码进行运算

正数的原反补三码一致;负数的反码是在原码的基础上最高位不变,其余位1->0,0->1;补码在反码的基础上+1---计算机在存储数据的时候存的就是补码

  • 三元运算符: ? :

Java中常见的特殊转义字符

 \表转义,常见如下。

制表符 \t --- table--- char c = ‘\t’;

回车 \r ---return  换行 \n ---next

\\ 反斜杠\  

\’ 单引号  

\” 双引号

Java程序从控制台获取数据

首先在类外写:import java.util.Scanner;

主函数内:

Scanner s = new Scanner(System.in);

// 获取整数

int i = s.nextInt();(以空格、回车换行、制表符等空白字符作为结束的)

// 获取小数

double d = s.nextDouble();

// 获取字符串

String str = s.nextLine();(获取的字符串最好trim()一下)(字符串中有空格的情况要用这个)

String str = s.next();(以空格、回车换行、制表符等空白字符作为结束的)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坚持不懈的小强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值