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语言保留特殊含义或者 ...
随机推荐
- Pytest 测试框架
一 . Pytest 简介 Pytest是python的一种单元测试框架. 1. pytest 特点 入门简单,文档丰富 支持单元测试,功能测试 支持参数化,重复执行,部分执行,测试跳过 兼容其他测试 ...
- 【设计模式】Adapter
前言 Adapter设计模式,允许客户端使用接口不兼容的类. 昨天收拾一些以前的东西,发现了藏在柜子里的一条线,这条线叫做OTG.这条线的一端是micro-usb的输出口,另一端是usb的输入口.这条 ...
- Django models 单表查询
从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet 1. 查看Django QuerySet执行的SQL .query.__str__()或 .query属性打印执行的sql语句 ...
- elasticsearch 集群、节点、索引、分片、副本概念
原文链接: https://www.jianshu.com/p/297e13045605 集群(cluster): 由一个或多个节点组成, 并通过集群名称与其他集群进行区分 节点(node): 单个 ...
- 获取mac地址和扫描端口
获取IP mac地址 arp -a 10.0.0.34 扫描指定IP 1到30000端口 nmap -p1-30000 10.0.0.36
- Python从零开始——模块与包
一:Python模块知识概览 二:Python模块的定义与引入 三:模块的搜素与命名空间 四:深入模块 五:模块管理——包的定义与引入
- Win2003下配置iis+php+mysql+zend
所需软件: ActivePerl.PHP.MYSQL.Zend (一.安装IIS6.0;二.配置PHP环境;三.安装mysql;四.安装 Zend Optimizer;五.配置PHPMYADMIN) ...
- Docker镜像服务(二)
一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...
- MNIST数据集上卷积神经网络的简单实现(使用PyTorch)
设计的CNN模型包括一个输入层,输入的是MNIST数据集中28*28*1的灰度图 两个卷积层, 第一层卷积层使用6个3*3的kernel进行filter,步长为1,填充1.这样得到的尺寸是(28+1* ...
- Rust第一次综合练习
读取文件哈. 但分成了lib.rs和main.rs. 按文档上不行,自己胡乱的调通,但原理不熟悉. 里面的套路代码还是蛮多的. src/lib.rs use std::io::Read; use st ...