基本数据类型间的运算(不包括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.赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名 ...
随机推荐
- 使用QT创建系统托盘
使用QT来创建一个系统托盘,事实上是一件很简单的事.为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一.但是在动手之前,我们要从哪里下手?虽然QT文档给出了一个比 ...
- Mybatis(三)MyBatis 动态SQL
在 MyBatis 3 之前的版本中,使用动态 SQL 需要学习和了解非常多的标签,现在 MyBatis 采用了功能强大的 OGNL( Object-Graph Navigation Language ...
- 无法启动链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 的嵌套事务。由于 XACT_ABORT 选项已设置为 OFF,因此必须使用嵌套事务。链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息"无法在此会话中启动更多的事务"。
无法启动链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 的嵌套事务.由于 XACT_ABORT 选项已设置为 OFF,因 ...
- A1036
输入n行不同学生的name性别id和成绩,输出成绩最高的女生名字和id,成绩最低的男生名字和id求出二者的差 如果有性别缺少,输出Absent并在结果行输出NA 注意变量不要搞混,可以用结构体……不过 ...
- A1031
画图,用二维数组作为画布 #include<cstdio> #include<string.h> int main(){ ],u[][]; scanf("%s&quo ...
- HTML中的表单<form>标签
一.HTML表单 HTML 表单用于搜集不同类型的用户输入. HTML 表单包含表单元素,表单元素指的是不同类型的 input 元素.复选框.单选按钮.提交按钮等等. 关于表单的更多内容可以参考htt ...
- localhost、127.0.0.1、本机ip、0.0.0.0 的区别
1.各个地址 绑定到127.0.0.1的服务只能被本机访问. localhost是个域名,一般指向127.0.0.1这个ip,绑定到localhost的服务也只能被本机访问. 本机地址,指的是本机物理 ...
- Element ui 中的表单提交按钮多次点击bug修复
- Windows Server 2003 IIS 使用 Excel.Application
在Server2003服务器系统中,配置ASP调用CreateObject("Excel.Application")对象 1.先在服务器中安装Microsoft Excel 2.打 ...
- CF643E Bear and Destroying Subtrees
题解 我们可以先写出\(dp\)式来. 设\(dp[u][i]\)表示以\(u\)为根的子树深度不超过\(i-1\)的概率 \(dp[u][i]=\prod (dp[v][i-1]+1)*\frac{ ...