Java学习6——基本数据类型及其转换
Java常量:
Java的常量值用字符串表示,区分不同的数据类型
整型常量123、浮点型常量3.14、字符常量‘a’、逻辑常量true、字符串常量“helloworld”。
ps:此‘常量’区别于final关键字所修饰的不可更改变量。
Java变量:
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用于。
Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,然后必须进行赋值,才能使用。
int i = 100;
float f = 12.2f
double d1, d2, d3 = 0.123; //d1和d2未赋值,d3=0.123
String s = "hello world";
局部变量和成员变量的区别:
局部变量,方法体内部声明的变量(包括形参)。
成员变量,在方法体外,类体内声明的变量。
Java的4种基本数据类型:
布尔型(boolean)、字符型(char)、整数型(byte、short、int、long)、浮点型(float、double)
布尔型(boolean),只允许取值true或false,不可以用0或非0的整数代替true和false(这和C语言不一样)
字符型(char),1、字符常量用单引号括起来的单个字符,2、允许使用转义字符'\'来将其后的字符转变为其他含义,3、Java字符采用Unicode编码,每个字符占两个字节(Unicode是全球语言统一编码)
整数型(byte、short、int、long),1、Java各整数类型有固定的数表示范围,不受具体操作系统的影响,保证了Java程序的可移植性。2、byte型1字节、short型2字节、int型4字节、long型8字节,没有无符号整型。3、正常数值为十进制整数,以0开头数值为八进制整数,以0x开头为十六进制数。4、Java语言的整型常量默认为int型,声明long类常量时数值后必须加上‘l’或‘L’。
int a1 = 600;//正确
long a2 = 666666666666L;//必须加L否则出错
浮点型(float、double),1、Java浮点类型有固定的数表示范围,不受具体操作系统的影响。2、float型4字节、double型8字节。3、两种表示形式:十进制数和科学计数法。4、Java语言的浮点类型常量默认为double型,声明float类常量时数值后必须加上‘f’或‘F’。
double d = 123.456;//正确
float f = 12.34f;//必须加f否则出错
基本数据类型间的转换:
boolean类型不可以转换为其他的数据类型。
整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
1、容量小的类型自动转换为容量大的数据类型,数据类型按容量大小(不是字节大小)排序为:byte,short,char<int<long<float<double。byte,short,char之间不会互相转换,三者在计算时首先转换为int类型,再计算。
2、容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出。
3、多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
int i = 1, j = 12;
float f1 = 0.1f;
float f2 = 123f;
long l1 = 1234567L, l2 = 88888888888L;
double d1 = 2e20, d2 = 124;
byte b1 = 1, b2 = 2, b3 = 127;
j = j + 10;
i = i / 10;
i = (int) i * 0.1;
char c1 = 'a', c2 = 125;
byte b = (byte) b1 - b2;
char c = (char) c1 + c2 = 1;
float f3 = f1 + f2;
float f4 = (float) f1 + f2 * 0.1;
double d = d1 * i + j;
float f = (float) (d1 * 5 + d2);
Java学习6——基本数据类型及其转换的更多相关文章
- Java学习笔记2——数据类型和转换
前提知识: 1字节=8bit:1bit以一个二极管表示,代表2个状态(0或者1):2bit代表22即4种状态(00,01,10,11),8bit即是28即256种状态,16bit即是65536种状态. ...
- Java学习之基本数据类型
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...
- java中的基本数据类型的转换
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...
- 【原】Java学习笔记003 - 数据类型
package cn.temptation; public class Sample01 { public static void main(String[] args) { System.out.p ...
- Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)
1.Java四类八种数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围- ...
- Java学习之基本数据类型和引用数据类型区别
JAVA中分为基本数据类型和引用数据类型区别一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存 ...
- Java学习总结一 数据类型
@Java300 学习总结 一.Java 基本数据类型分类如下: 整型变量:byte.short.int.long 浮点型变量:float.double 字符型变量:char 布尔型变量:boolea ...
- Java学习笔记三——数据类型
前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
- 1 Java学习之 基本数据类型
1. 基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习 ...
随机推荐
- 今天出现了一个问题,Tomcat 进入localhost:8080正常,进入项目内别的页面都是空白页
经仔细检查发现代码没有任何的问题,经仔细检查找到了原因. 问题原因:拦截器(过滤器)把我的访问请求全都拦下了,我在拦截器里把//chain.doFilter(request, response);这行 ...
- YUM安装东西提示PYCURL ERROR 6 - "Couldn't错误的解决办法
执行yum install命令时提示PYCURL ERROR 6 - "Couldn't resolve host 错误,原来是dns设置出错,具体错误代码: Loaded plugins ...
- canvas标签的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2017多校第9场 HDU 6170 Two strings DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6170 题意:给了2个字符串,其中第2个字符串包含.和*两种特别字符,问第二个字符串能否和第一个匹配. ...
- Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)
2017年8月8日,CVE官网公布了CVE-2017-8641,在其网上的描述为: 意思是说,黑客可以通过在网页中嵌入恶意构造的javascript代码,使得微软的浏览器(如Edege),在打开这个网 ...
- How to customize the console applicaton
下面是如何最大化console和改变其显示的字体颜色的代码,顺便包含了计时代码(帮助做性能分析): class Program { [DllImport("kernel32.dll" ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(一)概览
myRTSPClient主要可以分成3个部分: 1. RTSPClient用户接口层: 2. RTP 音视频传输解析层: 3. RTP传输层. "RTSPClient用户接口层": ...
- 【Hadoop】HDFS的java客户端编写
项目使用了Maven Project 快速进行HDFS 客户端程序测试 客户端操作系统:win10 64位 JDK: 1.7.0_79 开发工具 :Eclipse Luna pom.xml < ...
- “无文件”恶意软件的威力:悄无声息一夜之间从ATM机中窃取80万美元
去年雅虎接连曝出多个超大规模数据泄露事件,长期关注的你们一定都知道,5亿.10亿账户信息泄露的,除了雅虎也没谁了.就在这两天,5亿账户泄露的真相似乎正在浮出水面. 事件回顾 我们今天要讲的就是这桩5亿 ...
- CRF技能词识别过程
最近在用CRF做未登录技能词识别,虽然艰难,但是感觉很爽,效率非常高. (1)数据准备: 选取30000行精语料作为训练数据.每一个br作为一条数据.使用已有的技能词典对数据进行无标注分词. (2)训 ...