基本数据类型间的运算(不包括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环境contos上solr-5.5.0 安装部署
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- "Host 'onlyyou-bridal.jp' is blocked because of many connection errors; unblock with 'mysqladminlush-hosts'"
错误链接数太多 ,清理mysqladminlush-hosts 这个文件 直接 service mysqld restart 解决了~~~ ccess denied for user 'root'@ ...
- Centos7没有Ifconfig命令该怎么办?
centos7没有ifconfig命令该怎么办? linux系统查看ip地址常用命令是[ifconfig],CentOS 7.0最小安装是没有ifconfig命令怎么办?当然可用[ip addr]查看 ...
- 如何解决Bootstrap中分页不能居中的问题
尝试过1.text-align:center居中:2.margin:0 auto; 3.display: flex;justify-content: center;都不行 解决: 在外层多加一个nav ...
- java术语(PO/POJO/VO/BO/QO/DAO/DTO)
一.概念理解 这些概念用于描述对象的类型:由于java是面向对象的语言:程序的世界就是各个对象之间的"交互":在交互的工程中会存在多个层次,每个层次中所拥有(关注)的内容都是不 ...
- 转 Java中final、finally、finalize的区别与用法
Java中final.finally.finalize的区别与用法 1.简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承.finally是异常处理语句结构 ...
- JConsole和VisualVM远程访问JMX
1.jvisualvm监控tomcat 修改tomcat的bin目录下的 catalina.sh文件,搜索JAVA_OPTS="",在引号中添加参数 JAVA_OPTS=" ...
- 51nod1790 输出二进制数
题目描述 题解 过于真实 LJ卡常题 一个显然的dp: 设f[i][j]表示做完前i个,最后一段为j+1~i的方案(最小值同理) 那么f[i][j]=min(f[i-j-1][k]),其中k~j-1要 ...
- SPOJ 2798 QTREE3 - Query on a tree again!
原oj题面 Time limit 2000 ms Memory limit 1572864 kB Code length Limit 50000 B OS Linux Language limit A ...
- spring学习笔记之---IOC和DI
IOC和DI (一)IOC (1) 概念 IOC (Inverse of Control) 反转控制,就是将原本在程序中手动创建对象的控制权,交给spring框架管理.简单的说,就是创建对象控制权被反 ...