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. 基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习 ...
随机推荐
- MySQL之删_delete-truncate
MySQL增删改查之删_delete-truncate 一.DELETE语句 删除数据记录 1.在单表中删除行 语法: DELETE [IGNORE] FROM tbl_name [WHERE whe ...
- Luogu P2807 三角形计数
题目背景 三角形计数(triangle) 递推 题目描述 把大三角形的每条边n等分,将对应的等分点连接起来(连接线分别平行于三条边),这样一共会有多少三角形呢?编程来解决这个问题. 输入输出格式 输入 ...
- Mybatis源码分析-SqlSessionTemplate
承接Mybatis源码解析-MapperRegistry注册mapper接口,本文将在前文基础上讲解持久层的生成 SqlSessionFactory生成 在spring中,SqlSessionFact ...
- adb shell screenrecord命令行使用说明
一.查看帮助命令,参数 --help D:\>adb shell screenrecord --help Usage: screenrecord [options] <filename&g ...
- shell 编程之 for while until 循环
shell 的for循环 的格式如下: for 变量 in 列表 do ... done 列表是一组值的序列 每个值通过空格隔开 每循环一次,列表中的下一个值赋给变量 in 列表是可选的,如果不用他 ...
- MySQL如何记录binlog
--MySQL如何记录binlog -------------------------------2014/07/08 binlog文件的内容 log event MySQL的 ...
- 如何理解iOS的“对象等同性”
在iOS开发过程中,我们经常需要用到等同性来判断两个对象是否相等,通常我们会使用==来判断,但是这样比较出来的结果可能不是我们期望的:所以,一般我们会使用NSObject协议声明的isEqual方法来 ...
- 利用Python实现kNN算法
邻近算法(k-NearestNeighbor) 是机器学习中的一种分类(classification)算法,也是机器学习中最简单的算法之一了.虽然很简单,但在解决特定问题时却能发挥很好的效果.因此,学 ...
- MySQL GROUP BY多个字段分组用法详解
mysql语句中group by 很容易理解 是分组查询.比如 select sum(score) from user group by name 意思是查询每个人的分数总和但是, select su ...
- iOS程序员的React Native开发工具集
本文整理了React Native iOS开发过程中有用的工具.服务.测试.库以及网站等. 工具 你可以选择不同的开发环境:DECO.EXPO或者你可以使用Nuclide+Atom,目前我使用EXPO ...