标识符&关键字&基本数据类型&类型转换

一、java标识符 

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符。

二、java关键字

关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。
Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
Java语言规定关键字不能作为标识符。目前共有50个Java关键字,其中,"const"和"goto"这两个关键字在Java语言中并没有具体含义。
Java语言把它们列为关键字,只是因为"const"和"goto"是其他某些计算机语言的关键字。
Java关键字: 关键字是电脑语言里事先定义的 有特别意义的标识符 有时又叫保留字,还有特别意义变量

Java关键字
abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while
Java关键字的大致含义
关键字 含义
abstract 表明类或者成员方法具有抽象属性
assert 用来进行程序调试
boolean 基本数据类型之一,布尔类型
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表是其中的一个分支
  
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class 类
const 保留关键字,没有具体含义
continue 回到一个块的开始处
default 默认,例如,用在switch语句中,表明一个默认的分支
do 用在do-while循环结构中
double 基本数据类型之一,双精度浮点数类型
else 用在条件语句中,表明当条件不成立时的分支
enum 枚举
extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float 基本数据类型之一,单精度浮点数类型
for 一种循环结构的引导词
goto 保留关键字,没有具体含义
if 条件语句的引导词
implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包
instanceof 用来测试一个对象是否是指定类型的实例对象
int 基本数据类型之一,整数类型
interface 接口
long 基本数据类型之一,长整数类型
native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new 用来创建新实例对象
package 包
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式
return 从成员方法中返回数据
short 基本数据类型之一,短整数类型
static 表明具有静态属性
strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super 表明当前对象的父类型的引用或者父类型的构造方法
switch 分支语句结构的引导词
synchronized 表明一段代码需要同步执行
this 指向当前实例对象的引用
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块
void 声明当前成员方法没有返回值
volatile 表明两个或者多个变量必须同步地发生变化
while 用在循环结构中
  
三、java基本数据类型

 Java语言是一种强类型语言。这意味着每个变量都必须有一个声明好的类型。Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。Java另外还提供大数字对象,但它不是Java的数据类型。 

1、整数:
定义:没有小数部分的数字,负数是允许的。
种类:Java提供四种整数类型:
byte 1个字节(8bit) -128到127(-27~27-1) 默认为0 ,如

       byte b=28;

  short 2个字节(16bit) -32,768到32,767(-215~215-1) 默认为0,如

      short s=280;

   int 4个字节(32bit) -2,147,483,648到2,147,483,647((-231~231-1) )默认为0 ,如

  long 8个字节(64bit) -9,223,372,036,854,775,808L到9,223,372,036,854,775,807L (-263~263-1)默认为0L ,如

        long decimal= 12345L;

说明:整型数值的最高比特位表示符号,用0表示正数,1表示负数,其余位表示值。

Java中可以用如下班种进制来表示整数的常量。

(1)十进制:如

     int length=30;

(2)八进制:使用八进制时,需要在数的前面加0,如

     int five=05;

(3)十六进制:使用十六进制时,需要在数的前面加0X或ox,如

    int x=0X7fF;

2、浮点数:
定义:含有小数部分的数字。
分类:Java提供两种浮点数:
float 4个字节(32bit) 约+—3.40282347E+38F(6~7个有效的十进制数位) 默认为0.0F
  double 8个字节(64bit) 约+-1.79769313486231570E+308(15个有效数位) 默认为0.0D
  说明:
  1)浮点型常量默认为double型。float类型的数值有个后缀:F或f,如果没有后缀F,那么默认为double。double类型的数值也可以使用后缀D。
  2)当这些数字遇到取值范围错误时,会发生(上溢Overflow);而在遇到象被零除时,会发生下溢(Underflow)。
3、字符类型:
定义:单引号用来表示char常量,每个char型变量占16个比特位(2个字节)。如,

   char a='a';

  说明:
  1)双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
  2)char类型表示Unicode编码方案中的字符,默认为'\u0000',两个字节(16bit)范围('\u0000'~'\uFFFF')
  Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在'\u0000'到'\uFFFF'之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值。
  3)在Java中除了用这个\u的形式来表示字符外,还可以使用换码序列来表示特殊字符。
  \b 退格 \u0008  \t Tab制表 \u0009  \n 换行 \u000a  \r 硬回车 \u000d
  " 双引号 \u0022  ' 单引号 \u0027  \ 反斜杠 \u005c
  4)理论上在Java的应用程序和小应用程序中使用Unicode字符,但至于他们是否能真正显示出来,却要取决于使用的浏览器和操作系统,其中操作系统是最根本的。

  5)字符型实际上只是一个16位无符号整数,也可以使用整数给其赋值,但整数范围要在0~65535之间,如

   char a=78;     //表示大写字母‘N’

4、布尔类型:
  boolean类型只有两个值:false和true,一个字节(8bit),默认为false。范围(true,false)

五、数据类型的转换

Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。

1 数据类型转换的种类
java数据类型的转换一般分三种,分别是:
(1). 简单数据类型之间的转换
(2). 字符串与其它数据类型的转换
(3). 其它实用数据类型转换
下面我们对这三种类型转换分别进行论述。
2 简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double

简单数据类型之间的转换又可以分为:

●低级到高级的自动类型转换
●高级到低级的强制类型转换
●包装类过渡类型能够转换

2.1自动类型转换
低级变量可以直接转换为高级变量,称之为自动类型转换,例如,下面的语句可以在Java中直接通过:

byte b;
int i=b;
long l=b;
float f=b;
double d=b;

  如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r

char c='c';
int i=c;
System.out.println("output:" i);

输出:output:99;
对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。

short i=99;char c=(char)i;System.out.println("output:" c);

输出:output:c;
但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。

2.2强制类型转换
将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:

int i=99;byte b=(byte)i;char c=(char)i;float f=(float)i;

  可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。

2.3包装类过渡类型转换
在我们讨论其它变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
在进行简单数据类型之间的转换(自动转换或强制转换)时,我们总是可以利用包装类进行中间过渡。
一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
例1,当希望把float型转换为double型时:

float f1=100.00f;
Float F1=new float(f1);
Double d1=F1.doubleValue();
//F1.doubleValue()为Float类的返回double值型的方法

当希望把double型转换为int型时:

double d1=100.00;
Double D1=new Double(d1);
int i1=D1.intValue();

当希望把int型转换为double型时,自动转换:

int i1=200;
double d1=i1;

  简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:

Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。

3 字符串型与其它数据类型的转换
通过查阅类库中各个类提供的成员方法可以看到,几乎从java.lang.Object类派生的所有类提供了toString()方法,即将该类转换为字符串。例如:Characrer,Integer,Float,Double,Boolean,Short等类的toString()方法toString()方法用于将字符、整数、浮点数、双精度数、逻辑数、短整型等类转换为字符串。如下所示:

int i1=10;
float f1=3.14f;
double d1=3.1415926;
Integer I1=new Integer(i1);
//生成Integer类r
Float F1=new Float(f1);
//生成Float类r
Double D1=new Double(d1);
//生成Double类r
//分别调用包装类的toString()方法转换为字符串
String si1=I1.toString();
String sf1=F1.toString();
String sd1=D1.toString();
Sysytem.out.println("si1" si1);
Sysytem.out.println("sf1" sf1);
Sysytem.out.println("sd1" sd1);

4、将字符型直接做为数值转换为其它数据类型
将字符型变量转换为数值型变量实际上有两种对应关系,在我们在第一部分所说的那种转换中,实际上是将其转换成对应的ASCII码,但是我们有时还需要另一种转换关系,例如,'1'就是指的数值1,而不是其ASCII码,对于这种转换,我们可以使用Character的getNumericValue(char ch)方法。

5、Date类与其它数据类型的相互转换
整型和Date类之间并不存在直接的对应关系,只是你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立了一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:
Date(int year, int month, int date):以int型表示年、月、日
Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、时、分
Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、时、分、秒r
在长整型和Date类之间有一个很有趣的对应关系,就是将一个时间表示为距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。对于这种对应关系,Date类也有其相应的构造函数:Date(long date)
获取Date类中的年、月、日、时、分、秒以及星期你可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以将其理解为将Date类转换成int。
而Date类的getTime()方法可以得到我们前面所说的一个时间对应的长整型数,与包装类一样,Date类也有一个toString()方法可以将其转换为String类。
有时我们希望得到Date的特定格式,例如20020324,我们可以使用以下方法,首先在文件开始引入,

import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();/
/如果希望得到YYYYMMDD的格式
SimpleDateFormat sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);
//如果希望分开得到年,月,日
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);

附加:

在java中除了这些转换之外基本数据类型还可以被隐式的转换成String,例如:

System.out.print("转换"+100);//如果在数据前面有字符串用+连接//就会隐式的转换成

String

1.字符型转时间型:2005-10-1
reportdate_str = “2005-10-01”;
reportdate_str = reportdate_str + “ 00:00:00.0”
reportdate = java.sql.Timestamp.valueOf(reportdate_str);

2.时间型转字符型:
V_DATE = reportdate.toString();

3.将long型转化为String型
long APP_UNIT = (long) userview.getDEPT_ID();
String S_APP_UNIT = String.valeOf(APP_UNIT);
基本类型s都可以通过String.valeOf(s)来转化为String型。

转载于:https://www.cnblogs.com/wxiao/p/5135875.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值