基本数据类型间的运算(不包括boolean)
一 基本数据类型的间的运算 (不包括boolean)
1.自动类型提升 : 小容量的变量和大容量的变量做运算结果用大容量的变量的类型来接收.
byte , short , char -> int -> long -> float -> double
注意 : 容量指的是表数范围.
2.强制类型转换 : 自动类型提升的逆过程 (将大容量 赋值给小容量)
需要使用强制类型转换符 : (强转的类型)
注意 :强制类型转可能会损失精度
二 String与基本数据类型间的运算
public class VarTest5{ public static void main(String[] args){ //用什么样的类型的变量来接收数据?
int a = 10;
long num = 20L;
long b = a + num;
System.out.println(b); System.out.println("---------------------------"); byte nu = 20;
int nu2 = 30;
int nu3 = nu + nu2;
System.out.println(nu3); System.out.println("---------------------------"); long c1 = 12L; //8字节
float c2 = 12.3f;//4字节
float c3 = c2 + c1;
System.out.println(c3); System.out.println("---------------------------");
//byte,short,char三者之间做运算自身都先提升为int再运算
byte d1 = 12;
short d2 = 20;
int d3 = d1 + d2; System.out.println("---------------------------"); char ch = 'A';
int number = ch + 1; //a = 97 b = 98 c = 99 A = 65 B = 66
System.out.println(number); }
}
public class VarTest6{ public static void main(String[] args){ int a = 12;
byte b = (byte)a; //精度没有损失
System.out.println(b); System.out.println("----------------------------------"); float f = 12.3f;
int a2 = (int)f; //精度会损失
System.out.println(a2); System.out.println("----------自动类型提升前也可加强制类型转换符-------------"); short s = 123;
int number = (int)s; //会自动类型提升
System.out.println(number); System.out.println("---------------强转时注意的细节-------------------"); int num = 20;
int num2 = 30;
byte num3 = (byte)(num + num2);
System.out.println(num3);
}
}
三 String与基本数据类型(8种)间的运算
说明:
1.String只能与基本数据类型做连接运算(+ 连接符)。
2.String与基本数据类型做运算符结果还为String
public class VarTest7{ public static void main(String[] args){ //声明一个String类型的变量并赋值
String s = "aaa";
//先了解即可(面向对象的时候再说)
String s2 = new String("bbb"); //String是一个引用数据类型属于类。
System.out.println(s); System.out.println("----------------------------------"); String ss = "hello";
String ss2 = "java";
String ss3 = ss + ss2;
System.out.println(ss3); String ss4 = ss + 10;
System.out.println(ss4); boolean boo = true;
String ss5 = ss + boo;
System.out.println(ss5); String ss6 = ss + 'a';
System.out.println(ss6);
System.out.println(ss + 'a'); System.out.println("---------------练习-------------------"); char c = 'a'; //a = 97
int num = 1;
String str = "志玲姐姐"; System.out.println(str + c + num); //志玲姐姐a1
System.out.println(c + num + str);//98志玲姐姐
System.out.println(str + num + c);//志玲姐姐1a
System.out.println(c + str + num);//a志玲姐姐1
}
}
/* 常量 : */
public class VarTest8{ public static void main(String[] args){ //Java 的浮点型常量默认为double型
double d = 12.3;
float f = 12.3f;
System.out.println(f); //java的整型常量默认为 int 型
long lon = 111111111111L;
System.out.println(lon); }
}
基本数据类型间的运算(不包括boolean)的更多相关文章
- 「C语言」数据类型及混合运算与类型转换
深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录: ...
- JAVA_SE基础——9.基本数据类型间的转换
前面我已经教会大家基本的数据类型进行了介绍, 然后这篇文章,我来介绍下,基本数据类型的转换. Java中有两种类型转换形式,分别是自动类型转换和强制类型转换. Step1.自动类型转换. 自动类型 ...
- SQL数据类型和C#数据类型间的转换
今天看到SQL数据类型和C#数据类型间的转换,前人留下的. <?xml version="1.0" encoding="utf-8" ?> < ...
- C#常用数据类型间的转换
数据类型有很多种,数据类型间的转换也是有很多的方法,如果不细心整理的话等到用的时候再查就会显得很浪费时间,所以决心整理出这篇博文.主要是讲解常用数据类型之间的转换方法以及常见数据类型所占字节数. 字节 ...
- python 基础 1.6 python 帮助信息及数据类型间相互转换
一. 帮助信息 # dir() 方法 查看函数的方法 # help() # type() 查看类型 name = raw_input('please input you name ...
- 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
package com.minxinloan.utils; import java.math.BigDecimal; public class Arith { // 源文件Arith.java: /* ...
- Java基本数据类型与位运算
>>赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明 ...
- 数据类型、位运算、sizeof()函数
数据精度,依次升高.(负数必须使用有符号类型) 不同精度的数据间运算,所得结果为高精度类型. 数据类型详细信息如下图: 整型数据的数制:十进制(32).八进制(032,以0开头).十六进制(0x32, ...
- 【Java基础】Java基本数据类型与位运算
1.赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名 ...
随机推荐
- java Thread源码分析(二)
一.sleep的使用 public class ThreadTest { public static void main(String[] args) throws InterruptedExcept ...
- rsync服务实践
RSYNC数据备份 RSYNC=Remote Sync 远程同步 高效,一定要结合shell 官方网站:https://rsync.samba.org/ Author: Andrew Tr ...
- postman(二):详解在Pre-request Script中如何执行请求
一.这里以Pre-request Script标签来介绍 postman提供了postman提供了一个"Send a request"代码段,他是已经封装好的发送请求的方法 一个& ...
- bzoj4011 [HNOI2015]落忆枫音 拓扑排序+DP
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4011 题解 首先考虑如果没有那么一条被新加进来的奇怪的边的做法. 我们只需要给每一个点挑一个父 ...
- 3.docker镜像管理基础
一.docker镜像相关 1.About Docker Image Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器. 采用分层构建机制,最底层为bootf ...
- vueroute的router.addRoutes
router.addRoutes(routes: Array<RouteConfig>)动态添加更多路由到路由器.参数必须是使用与routes构造函数选项相同的路径配置格式的Array .
- Day_02-Python的循环结构
循环结构 应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...
- 所有input输入完成后,改变按钮颜色
$(function(){ $('input').on('input propertychange',function(){ if(($.trim($('.add1').val())!==" ...
- 【CF1249F】Maximum Weight Subset(贪心)
题意:给定一棵n个点带点权的树,要求从中选出一个点集,使得这些点两两之间距离都大于K,求最大点权和 n,K<=2e2,1<=a[i]<=1e5 思路:树形DP显然可做,极限是n方,然 ...
- AGC030F - Permutation and Minimum
https://atcoder.jp/contests/agc030/tasks/agc030_f 题解 我们先把这个排列从\(1 \sim 2n\)表达出来,然后题面中的每一对数我们可以用一条线把他 ...