JAVA定义变量和基础的数据类型和关键字

  标识符语法

  1)java中定义标识符格式以字母,数字,下划线,$符合组成,不能以数字开头,且不能为

    java中的关键字。
    
      2)标识符意义要明确,不要乱起
    
      3)标识符区分大小写例如 z和Z是不同的两个标识符

   4)java常用关键字

                  Java中的关键字


abstract


assert


boolean


break


byte


case


catch


char


class


continue


const


default


do


double


else


extends


enum


final


finally


float


for


goto


if


implements


import


instanceof


int


interface


long


native


new


package


private


protected


public


return


short


static


synchronized


super


strictfp


this


throw


throws


transient


try


void


volatile


while 

数据类型分类和转换

  


四类


八种


字节数


数据表示范围



byte


1


-128~127


 


short


2


-32768~32767


 


int


4


-2147483648~2147483648


 


long


8


-263~263-1


浮点型


float


4


-3.403E38~3.403E38


 


double


8


-1.798E308~1.798E308


字符型


char


2


表示一个字符,如(‘a‘,‘A‘,‘0‘,‘家‘)


布尔型


boolean


1


只有两个值true与false

1)布尔

基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错

2)基本数据类型中数值类型的自动类型提升

图中依次表示了各数值类型的字节数和相应的取值范围。在Java中,整数类型(byte/short/int/long)中,对于未声明数据类型的整形,其默认类型为int型。在浮点类型(float/double)中,对于未声明数据类型的浮点型,默认为double型。

1 public class TestCast {
2  5
3  6     public static void main(String[] args) {
4  7         byte a = 1000;   // 编译出错
5  8         float b = 1.5;   // 编译出错
6  9         byte c = 3;      // 编译正确
7 10     }
8 11
9 12 }

jvm在编译过程中,对于默认为int类型的数值时,当赋给一个比int型数值范围小的数值类型变量(在此统一称为数值类型k,k可以是byte/char/short类型),会进行判断,如果此int型数值超过数值类型k,那么会直接编译出错。因为你将一个超过了范围的数值赋给类型为k的变量,k装不下,你又没有进行强制类型转换,当然报错了。但是如果此int型数值尚在数值类型k范围内,jvm会自定进行一次隐式类型转换,将此int型数值转换成类型k。如图中的虚线箭头。这一点有点特别,需要稍微注意下。

在其他情况下,当将一个数值范围小的类型赋给一个数值范围大的数值型变量,jvm在编译过程中俊将此数值的类型进行了自动提升

自动类型转换

表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换

自动类型转换格式:

范围大的数据类型 变量 = 范围小的数据类型值

强制类型转换格式

范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

 1 public class TestCast {
 2  4
 3  5     public static void main(String[] args) {
 4  6         byte p = 3; // 编译正确:int到byte编译过程中发生隐式类型转换
 5  7         int  a = 3;
 6  8         byte b = a; // 编译出错
 7  9         byte c = (byte) a; // 编译正确
 8 10         float d = (float) 4.0;
 9 11     }
10 12
11 13 }

区别在于前者3是直接量,编译期间可以直接进行判定,后者a为一变量,需要到运行期间才能确定,也就是说,编译期间为以防万一,当然不可能编译通过了。此时,需要进行强制类型转换。

3)其他情况

 1 public class TestCast {
 2  4
 3  5     public static void main(String[] args) {
 4  6         long a = 10000000000; //编译出错
 5  7         long b = 10000000000L; //编译正确
 6  8         int c = 1000;
 7  9         long d = c;
 8 10         float e = 1.5F;
 9 11         double f = e;
10 12     }
11 13
12 14 }

如上:定义long类型的a变量时,将编译出错,原因在于10000000000默认是int类型,同时int类型的数值范围是-2^31 ~ 2^31-1,因此,10000000000已经超过此范围内的最大值,故而其自身已经编译出错,更谈不上赋值给long型变量a了。

此时,若想正确赋值,改变10000000000自身默认的类型即可,直接改成10000000000L即可将其自身类型定义为long型。此时再赋值编译正确。

将值为1000的int型变量c赋值给long型变量d,按照上文所述,此时直接发生了自动类型提升, 编译正确。同理,将e赋给f编译正确。

接下来,还有一个地方需要注意的是:char型其本身是unsigned型,同时具有两个字节,其数值范围是0 ~ 2^16-1,因为,这直接导致byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为负数的问题),同时,byte当然可以直接提升到short型。

原文地址:https://www.cnblogs.com/xiaozhang666/p/10301286.html

时间: 2024-11-08 16:25:57

JAVA定义变量和基础的数据类型和关键字的相关文章

Java——定义类,引用类数据类型,集合类型(array list)

一.定义类 1.类的格式 public class 类名{ // 类名最好和文件名一样 数据类型 属性名称1: 数据类型 属性名称2: -} // phone.java public class Phone { // 属性 String brand; // 品牌型号 String color; // 颜色 double size; // 尺寸大小 } 2.类的调用 p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-he

Java面试之SE基础基本数据类型

1.九种基本数据类型的大小以及它们的封装类 在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.long.boolean.byte.char:它们的封装类分别是:Integer.Short.Float.Double.Long.Boolean.Byte.Character. 因为对基本数据类型封装之后,封装类有可以有方法和属性,然后就可以利用这些方法和属

Java入门到精通——基础篇之static关键字

一.概述 static 关键字是声明静态变量,静态方法用的.static的含义是属于类且不属于类对象的变量和函数. 二.static的产生. 在创建对象的时候除非用new创建那个类的对象,否则实际上并没有获得任何对象只有当执行new来创建对象时数据存储空间才被分配,其方法才供外界调用.但是有两种情况上述方法时无法解决的 第一种只想为某特定域分配单一存储空间而不去考虑究竟要创建多少对象,甚至不需要创建任何对象. 第二种希望某个方法(变量)不予包含它的类的人很对象关联在一起.也就是没有创建对象,也能

2018-07-14Java基础+基本数据类型+自动/强制数据类型转换+定义变量+运算符

Java查看版本: CMD内输入:java –version回车! 企业内一般是JDK1.5-->1.7版本! ① J2SE:Java 2 Platform Standard Edition( 2005年之后更名为Java SE )!包含构成Java语言核心的类:比如数据库连接,接口定义,数据结构,输入/输出,网络编程! ② J2EE:Java 2 Platform Enterprise Edition ( 2005年之后更名为Java EE )!Enterprise Edition(企业版)包

js基础语法,定义变量-笔记

一.变量 JavaScript是弱类型脚本语言,使用变量前可以无需定义(但要做初始化工作),当使用某个变量时直接使用即可.[若不给变量赋值,则变量类型属于未知状态,其对应的类型为"undefined",可利用if语句直接进行判断,此变量属于undefined表示false.则为true.] 主要定义方式: 1.隐式定义--直接给变量赋值: 2.显式定义--使用var关键字定义变量. 二.数据类型 JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型.JavaScrip

C#基础--之数据类型【转】

在第一章我们了解了C#的输入.输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半.在你阅读完本章后,你就有足够的C#知识编写简单的程序了.但还不能使用继承或其它面向对象的特征.  本章主要针对以下几个部份来进行讲解:    1.电脑是由什么来存储所使用的数据?    2.基本数据类型有哪些?    3.如何声明变量和赋值?    4.变量和常量的区别?    5.不同数据类型之间是如何转换的? 下面,我们现一个一个的来了解这些问题.  一.电脑是由

(4)C#变量、常量、数据类型、数据转换

1.变量 程序运行期间能够被改变的量 定义并初始化 double pi = 3.14 2.常量 程序在运行期间不能被改变的量,它可以是任何基本数据类型. 比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量 常量的定义方法 定义变量时在前面加上一个关键字“const” const int a=35: 3.数据类型 C#的数据类型分为三种,值类型,引用类型,指针类型. 值类型 也叫做基本数据类型,每一个值类型都有一个独立的内存区域保存自己的值,调用它的时候调用的是他的值.   类型  描述

ABAP基础:数据类型

数据类型-Data Type:定义程序中可以使用的数据类型,使用前要先定义 数据变量-Data Variable:参照数据类型定义的.可以存储值的变量,就是变量嘛 数据类型 数据类型在ABAP程序中用于定义变量类型 数据类型和数据对象是单独声明的,数据对象则参照数据类型定义 在程序中利用TYPES语句声明数据类型,只能在该程序中使用,也成为本地数据类型 本地数据类型可以参照ABAP数据类型进行声明 数据变量 数据变量是在程序中参照数据类型定义的值. 常用方法是用Data语句定义变量 注意:变量实

String属于基础的数据类型吗?

不属于. Java 中 8 种基础的数据类型:byte.short.char.int.long.float.double.boolean 但是 String 类型却是最常用到的引用类型. Java 自学指南 Java 面试题汇总PC端浏览[点这里] Java知识图谱 Java 面试题汇总小程序浏览,扫二维码 所有资源资源汇总于公众号 原文地址:https://www.cnblogs.com/ConstXiong/p/11808176.html