Java连载15-boolean类型&类型转换&++运算符
一、boolean类型
1.说明:
(1)在java语言中,boolean类型只有两个值:true、false,没有其他的值。在C语言中,是有0代表false和1代表true的
(2)在底层存储的时候boolean类型占用1个字节,因为实际存储的时候false底层是0,true是1
(3)布尔类型在实际开发过程中是非常重要的,经常使用在逻辑运算和条件控制语句中。
public class d15_{ public static void main(String[] args){ boolean i1 = true; if(i1){ System.out.println("我被正确数出了"); }else{ System.out.println("我被错误输出了"); } } }
二、数据类型之间的类型转换
1.转换规则
(1)八种基本数据类型之中除了boolean类型之外其他七种可以互相转换
(2)小容量向大容量转换。称为自动转换类型。容量从大到小排序:
byte<short=char<int<long<float<double
注意:任何浮点类型不管占用多少字符,都比整数类型容量大。char和short可以表示的种类数量相同,但是char可以取到更大的正整数。
(3)大容量向小容量转换,称为强制类型转换,需要加上强制类型转换符,程序才能编译通过,但是运行阶段可能会损失精度,所以谨慎使用
(4)当整数字面值没有超出byte,short,chat的取值范围时,可以直接赋值给byte,short,char
(5)byte,short,char混合运算的时候,各自先转换为int类型再做运算
(6)多种数据类型运算的时候,先转换为容量最大的那种类型再进行运算。
三、练习
注意:我们不能把最后得到的结果在程序之前考虑进去,我们程序是需要先编译在运行,我们算出的结果是运行后的,我们要先考虑编译阶段的语法语义的正确性。
byte a = 10;//编译通过,因为没有超出byte的范围 int b = 3; //byte c = a/b;//编译不通过,因为得到的值为int类型,必须强制转换才行,修改方式如下 byte c = (byte)(a/b);
四、运算符
1.算术运算符(+、-、*、/、%(求余数或称为取模)、++(自加1)、--(自减1))
2.注意:一个表达式中有多个运算符,运算符有优先级,不确定的加上小括号,优先级得到提升,没有必要去记忆运算符的优先级
3.关于++运算符(以下以++为例,那么--也是这样就不错重复讲解了)
小结:++运算符可以出现在变量前面,也可以出现在变量的后面,无论是变量的前面还是变量的后面,只要++运算符一结束,该变量的值就会自动加1
int k =10; k ++; System.out.println(k); ++ k; System.out.println(k);
下面我们对他们之间的区别进行讨论
(1)对于++出现变量的后面
int a1 = 10; int a2 = a1 ++; System.out.println(a1); System.out.println(a2);
从上面的例子可以看出:规则:先做赋值运算,再对变量中保存的值进行加1
(2)对于++出现再变量的前面
int a1 = 10; int a2 = ++a1; System.out.println(a1); System.out.println(a2);
规则:先进行自加1运算,然后进行赋值操作。
五、源码:
d15_type_transform_and_arithmetic_operator.java
地址:https://github.com/ruigege66/Java/blob/master/d15_type_transform_and_arithmetic_operator.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料
Java连载15-boolean类型&类型转换&++运算符的更多相关文章
- Java连载81-枚举类型,生成五个不重复的随机数,集合简介
一.枚举类型 1.枚举类型的格式就是enum+枚举类型的名称,可见下面的例子. package com.bjpowernode.java_learning; public class D81_1_ ...
- Java连载10-数据类型取值范围&转义字符
一.数据类型取值范围 二.八种数据类型在成员变量中的默认值 (1)成员变量,没有赋值,编译不会报错,系统会自动给赋值 byte\int\short\long默认值为0:float\double默认值为 ...
- Java连载9-数据类型&字符编码
一.数据类型注意:(1)计算机最初只支持英文,最先出现的字符编码是:ASII码例如:‘a'对应97,对应01100001(2)编码和解码的时候采用同一套字典/对照表,不会出现乱码.否则会出现乱码.二. ...
- JAVA的变量,数据类型与运算符
1. 变量 计算机处理数据,变量被用来存储处理的数据,之所以叫做变量因为你可以改变存储的值.更确切的说,一个变量指向着一块存储特定类型值的地址,换句话说,一个变量有名称.类型和值.一个变量有一个名称, ...
- 11.boolean类型
/* 关于java中的Boolean类型: 1)赋给boolean类型的值只有两个:ture或者false 2)boolean类型的数据主要用在逻辑运算和条件控制语句中.*/ public class ...
- java 基本语法(三) 运算符
1-算术运算符 1.算术运算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- + [典型代码] //除号:/ int num1 = 12; int num2 = 5; ...
- java注释 命名 数据类型 基本类型转换 位运算符 逻辑运算符 三目运算符
一.java注释 1.单行注释 //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释 ...
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
随机推荐
- kali渗透综合靶机(十)--Raven靶机
kali渗透综合靶机(十)--Raven靶机 一.主机发现 1.netdiscover -i eth0 -r 192.168.10.0/24 二.端口扫描 1. masscan --rate=1000 ...
- .Net MVC 提示未能加载文件或程序集
最近在开发.Net MVC程序时,突然出现未能加载文件或程序集的错误, 错误1 错误2 猜测时由于引用了Swagger,导致Swagger依赖的组件版本和现有版本冲突(现在仍未确定是这个原因),浪费了 ...
- C# 跨线程访问UI不报错,必须使用Invoke。
代码有时跨线程访问UI,修改按钮Enable属性不报异常.调试发现修改按钮属性的线程是Background,执行不报异常. 在窗体构造中添加 Control.CheckForIllegalCrossT ...
- java中级,知识点归纳(一)
一.接口和抽象类的区别 抽象类中可以含有构造方法,而接口内不能有. 抽象类中可以有普通成员变量,而接口中不能有. 抽象类中可以包含非抽象的普通方法,而接口中所有方法必须是抽象的,不能有非抽象的普通方法 ...
- switch case加范围判断
switch case是可以加范围判断的,但是语法有少许变化,参数不能写在switch里面,而是写在外面,如: const i = 3; switch (true) { case (i <= 0 ...
- 什么是LNMP架构
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python ...
- Java开发中对Redis的基本操作
Jedis操作redis指令 import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; impo ...
- InnoDB Multi-Versioning
InnoDB 是一个数据多版本的存储引擎,它会保持它修改的数据的旧版本数据以此来支持事务特性,比如并发操作和事务的回滚.这些旧版本数据存储在一个叫做rollback segment的数据结构中(回滚段 ...
- CSS3 边框 border-image
border-image:xx xx xx 是一系列参数的简写,该属性将图片作为边框修饰 border-image-source:url(border.png); 图片url地址 border-ima ...
- 5-剑指offer: 和为S的两个数字
题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 代码 ...