基本数据类型间的运算(不包括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.赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名 ...
随机推荐
- MySQL技巧--伪哈希索引
哈希索引 哈希索引就是通过一个哈希函数计算出某个key的hash值,并以这个hash值去找到目标数据.例如:对于数据库的一行数据,对其主键进行hash运算,得到一个地址,这个地址指向这行记录的存储地址 ...
- MAL参会的笔记1
上周末去参加了著名的MAL.今年在天津主场,于是省去了路费问题. 来的都是平时看到论文中的大佬. 不过最大收获是收割了几个idea. 再就是知道了几个自己之前孤陋寡闻的顶会,比如COLT,VIS等等.
- pages
pages pages 接受一个数组,每一项都是一个字符串,指定 SWAN App 都有哪些页面.每一项代表页面的[路径 + 文件名],数组第一项代表 SWAN 初始页面. SWAN 中新增或减少页面 ...
- CF786B Legacy 线段树优化建图 + spfa
CodeForces 786B Rick和他的同事们做出了一种新的带放射性的婴儿食品(???根据图片和原文的确如此...),与此同时很多坏人正追赶着他们.因此Rick想在坏人们捉到他之前把他的遗产留给 ...
- POJ 3764 The xor-longest Path ( 字典树求异或最值 && 异或自反性质 && 好题好思想)
题意 : 给出一颗无向边构成的树,每一条边都有一个边权,叫你选出一条路,使得此路所有的边的异或值最大. 分析 : 暴力是不可能暴力的,这辈子不可能暴力,那么来冷静分析一下如何去做.假设现在答案的异或值 ...
- 倍增O(1)求区间&值与|值
;i<=n;++i) f[i][]=a[i],g[i][]=a[i]; ;(<<j)<=n;++j) ;(i+(<<j)-)<=n;i++) { f[i][j ...
- hdu_1231(最大连续子序列)
http://acm.hdu.edu.cn/showproblem.php?pid=1231 最长公共子序列: 方法1:暴力枚举所有区间的连续和,维护最大和 复杂度O(n^3)-->因为求区间和 ...
- Ubuntu 14.04 DNS 丢失 | 中文输入法配置 (转载)
1)彻底解决Ubuntu 14.04 重启后DNS配置丢失的问题: http://www.tuicool.com/articles/RVZn2y 2)Ubuntu 14.04中文输入法的安装 ht ...
- 小程序中css3实现优惠券
效果如下: css3实现优惠券 知识储备 颜色渐变 linear-gradient() css伪类 :before :after index.wxss .app { /* padding: 20rpx ...
- PHP CGI
cgi是通用网关接口,是连接web服务器和应用程序的接口. web服务器负责接收http请求,但是http请求从request到response的过程需要有应用程序的逻辑处理,web服务器一般是使用C ...