文档章节

Java语言提供了八种数据类型

原创学无止境
 原创学无止境
发布于 2017/04/24 14:41
字数 2376
阅读 6
收藏 0

在java中 short s1 = 1; s1 = s1 + 1; 有什么错 ?

 

short占2个字节,int占4个字节,short型变量+上int型值计算结果是int型,占4个字节,然后付给一个short型变量s1,就要丢失2个字节的精度,这是不容许的。你非要这么做的话,我给你提供一个办法:
   s1=s1+1;改成s1+=1;虽然是一个意思,但是在jvm里面是不同的方法做的,是运算符重载,所以是不一样的。

 

=======================================
六种数字类型,包括:四个整数型,
                                   两个浮点型,
一种字符类型,
一种布尔型。
=======================================

具体有:
1、整数:
                 long 内存分配8个字节,
                 int      内存分配4个字节,
                short 内存分配2个字节,
                byte    内存分配1个字节,
             
                  以上数据类型定义赋值方法:   int x=12;   //定义类型 变量名=数值;
                  (*1个字节由8bit(位)组成,即8个二进制组成。
                  内存自己分配的多少,直接影响到整形数据的取值范围
)

2、浮点型:
                   float   内存分配4个字节,精确到小数点后7位
                   double    内存分配8个字节,精确到小数点后15位或16位
                    数据类型定义赋值方法:float x=453.5439f, tom=1234,987f, 漂亮=9876.0f;
                                                          double   y=21389.5439d (d可以省略)  
                 (在给float类型赋值时,必须在数字后加上f或F,否则会出错。
                    浮点数不加f,就认为是double类型。)
                    特殊的float型数据:2e40f(2乘10的40次方,科学技术法)


3、字符:char   内存分配2个字节,取值范围0~65536 
                           定义及赋值方法:char x='A', tom='家';
                          (java使用了unicode标准字符集,可识别
                             65535个字符,前256个字符与ASC|| 相对应


4、布尔:boolean 此类型其实就是其他语言中的逻辑类型
                                 布尔类型取值仅有true和false两种。
                                 定义及赋值方法: boolean x, ok=true, 关闭=false ;

概念:

标识符:
用来标识 类名、变量名、方法名、类型名、文件名的有效字符序列称为标识符,简单的说,标识符就是一个名字。java的标识符规定由 字母、下划线、美元符号和数字组成。且第一个字符不能是数字。标识符中的字母是区分大小写的Boy和boy是完全不同的标识符。由于java使用了unicode标准字符集,可识别65535个字符,几乎囊括了每个国家的字母表。所以对中文支持很好,例如变量可以使用中文(不建议使用)。

关键字:(了解)
java中的关键字,通常是用来完成一个功能,和C语言中的函数差不多。
常用的关键字:goto,null,switch,boolean,do,if,break,double,this,byte,cate,class,const,
continue,for,now,super,final,false,puublic,ture,try,void,while,throw,import,false,else,extends,char
这些暂时了解即可,不必要马上掌握 ,以后遇到某关键字时会做详细解释,本文最下放有具体
关键字的解释,方便大家参照。

基本数据类型之间的转换(重要)
我们把一个数据赋值给另一个数据时,就涉及到数据转换。

将这些类型(不包括逻辑类型和字符类型)由低到高排序:
======================================
低                                               高
byte     short     int     long     float   double
======================================
*当级别低的变量赋值给级别高的变量时,系统自动完成数据类型的转换。

举例说明:
例1;
float x=100;
输出x的结果,为100.0(由于100默认为int数据,那么赋值给float后,由于上述转换级别                                                     问 题,100被变为浮点型数据100.0

例2
int   x=50;
float y;
y=x;
把y输出,结果为50.0;(原因上同

*高级别类型赋值给低级别类型,必须使用类型转换运算(强制运算)。否则可能会导致程序错误,一定要注意。

强制转换格式:(数据类型)要转换的值
举例:
int x=(int)34.89;
long y=(long)56.98f;

输出x,y的值是34 和 56

注:强制转换运算可能会导致精度的损失。

                                                                                        

                                                          今天的内容不少啊,慢慢消化,下面是供参考的资料,不必马上掌握

关键字具体解释:

Abstract 抽象的 用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现

break 用来改变程序执行流程,立刻从当前语句的下一句开始执行从。如果后面跟有一个标签,则从标签对应的地方开始执行 

case 用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。 

catch 用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。 

char 用来定义一个字符类型 

continue 用来打断当前循环过程,从当前循环的最后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。 

do 用来声明一个循环,这个循环的结束条件可以通过while关键字设置 

double 用来定义一个double类型的变量 

else 如果if语句的条件不满足就会执行该语句。 

final 你只能定义一个实体一次,以后不能改变它或继承它。更严格的讲:一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值。 

finally 用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。 

float 用来定义一个浮点数变量 

for 用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。 

if 用来生成一个条件测试,如果条件为真,就执行if下的语句。 

implements Java(TM)编程语言的一个关键字,在类的声明中是可选的,用来指明当前类实现的接口。 

import 在源文件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加上包的名字。 
instanceof 一个二操作数的Java(TM)语言关键字,用来测试第一个参数的运行时类型是否和第二个参数兼容。 

int 用来定义一个整形变量 

long 用来定义一个long类型的变量。 

private 用在方法或变量的声中。它表示这个方法或变量只能被这个类的其它元素所访问。 

protected 在方法和变量的声明中使用,它表示这个方法或变量只能被同一个类中的,子类中的或者同一个
包中的类中的元素所访问。 

public 在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。 

return用来结束一个方法的执行。它后面可以跟一个方法声明中要求的值。 

short 用来定义一个short类型的变量。 

static 用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个实例。"static" 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。 

this,用来代表它出现的类的一个实例。this可以用来访问类变量和类方法。 

throw 允许用户抛出一个exception对象或者任何实现throwable的对象 

throws用在方法的声明中来说明哪些异常这个方法是不处理的,而是提交到程序的更高一层。 

transient 用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。 

try 用来定义一个可能抛出异常语句块。如果一个异常被抛出,一个可选的catch语句块会处理try语句块中抛出的异常。同时,一个finally语句块会被执行,无论一个异常是否被抛出。 

void用在Java语言的方法声明中说明这个方法没有任何返回值。"void"也可以用来表示一句没有任何功能的语句。 

volatile 用在变量的声明中表示这个变量是被同时运行的几个线程异步修改的。 

while 用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。 

关于break和continue。 
continue语句与break语句相关,但较少用到。continue语句用于使其所在的for、while或do-while语句开始下一次循环。在while与do-while语句中,continue语句的执行意味着立即执行测试部分;在for循环语句中,continue语句的执行则意味着使控制传递到增量部分。

© 著作权归作者所有

原创学无止境
粉丝 1
博文 14
码字总数 25526
作品 0
徐汇
程序员
私信 提问
scala基础篇-getting started

REPL, read evaluate print loop. `object MyModule {def main(args: Array[String]): Unit = { }def abs(n: Int): Int = { }}以.scala为后缀的文件,要么定义object要么定义class。object也......

RogerIs谭纶
2015/02/21
0
0
java基础一(第一个java程序、数据类型、访问控制、static、)

一、第一个java程序 public class HelloWord {//public访问修饰符 class关键字,声明为类 HelloWord类名 //public访问修饰符 static关键字 void表示无返回值 main程序入口 } 二、数据类型 Ja...

废柴
2018/02/11
0
0
Java数据类型知多少?java入门学习

数据类型是每个编程语言必不可少的基础知识,也是必须要掌握的技能,很多人知识简单的进行理解,并没有很系统的进行知识的梳理,以下是对java语言的内置数据类型汇总:   Java语言有8种基本...

老男孩Linux培训
2018/06/27
0
0
三分钟读懂Java与JavaScript的区别,让小白摘帽

Java跟JavaScript虽然在名称上有些许相似,但其实是两种完全不同的语言。Java是一种程序设计语言,JavaScript是客户端的脚本语言,把这两样东西放在一起比较在科学上其实并不严谨。但它们唯一...

小欣妹妹
2017/10/21
0
0
Google的Guava类库简介(转)

说明:信息虽然有点旧,至少可以先了解个大概。 Guava是一个Google的基于Java的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotat...

easonjim
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

0.01-Win10安装linux子系统

一、安装Debian子系统 -1、控制面板设置: -1.1、打开“控制面板” —— “程序” —— “启用或关闭Windows功能” —— 勾选 “适用于Linux的Windows子系统” -2、设置: -2.1、打开“设置”...

静以修身2025
昨天
2
0
init 0-6 (启动级别:init 0,1,2,3,4,5,6)

启动级别: init 0,1,2,3,4,5,6 这是个很久的知识点了,只是自己一直都迷迷糊糊的,今天在翻出来好好理解下。。 0: 停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system...

圣洁之子
昨天
2
0
Android Camera HAL浅析

1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转...

天王盖地虎626
昨天
2
0
聊聊Elasticsearch的ProcessProbe

序 本文主要研究一下Elasticsearch的ProcessProbe ProcessProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/process/ProcessProbe.java public class ProcessProb......

go4it
昨天
3
0
mysql PL(procedure language)流程控制语句

在MySQL中,常见的过程式SQL语句可以用在存储体中。其中包括IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句和LEAVE语句,它们可以进行流程控制。 IF语句相当于Java中的if()...else if(...

edison_kwok
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部