基本数据类型间的运算(不包括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.赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名 ...
随机推荐
- 运算符、流程控制(if、while)笔记
目录 算术运算符 比较运算符(返回一个bool值) 逻辑运算符(把多个条件同时叠加) 赋值运算符 身份运算符 位运算符 成员运算符 python运算优先级 流程控制:向一个方向变化 if判断 单分支结 ...
- 【hackerrank】Placements
题目如下: You are given three tables: Students, Friends and Packages. Students contains two columns: ID ...
- 1px像素问题(移动端经典问题)
1.物理像素:移动设备出厂时,不同设备自带的不同像素,也称硬件像素: 逻辑像素:即css中记录的像素 在开发中,为什么移动端CSS里面写了1px,实际上看起来比1px粗:了解设备物理像素和逻辑像素的同 ...
- 你肯定不知道的oracle数据库和sql server的这些区别
它们两者之间的区别主要体现在六大方面: 一是开放性. 1.SQL Server 只可在windows上运行,缺乏开放性,操作系统的稳定对数据库是非常重要的. Windows9X系列产品比较偏重于桌面应 ...
- JSP上传整个文件夹
文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...
- 牛客网 珂学送分( 期望DP )
题意 : 题目链接 分析 : 听队友说一般概率从前往后推.期望从后往前推......... #include<bits/stdc++.h> using namespace std; ; d ...
- RabbitMQ消费端ACK与重回队列机制,TTL,死信队列详解(十一)
消费端的手工ACK和NACK 消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿. 如果由于服务器宕机等严重问题,那么我们就需要手工进行ACK保障消费端成功. 消费端重回队列 ...
- JavaScript异步编程助手:Promise模式
:Promises是一种令代码异步行为更加优雅的抽象,它很有可能是JavaScript的下一个编程范式,一个Promise即表示任务结果,无论该任务是否完成. 异步模式在Web编程中变得越来越重要,对 ...
- node.js配置环境变量
今天配置node.js的时候,碰到了配置环境变量的问题 为什么会出这样的问题: 因为我将 node.js 安装到了D盘,(这是个坑,以后一定要安到C盘),当我发现,我的node操作指令无效的时候,知道 ...
- React Native商城项目实战11 - 个人中心头部内容
1.创建MineHeaderView.js /** * 个人中心头部内容 */ import React, { Component } from 'react'; import { AppRegist ...