JavaSE----基础语法(关键字、标识符、注释、常量、变量)
来源:互联网 发布:2016淘宝怎么注册 编辑:程序博客网 时间:2024/05/17 11:07
Java语言基础
1.1关键字
1.1.1 关键字的定义和特点
定义:被Java语言赋予特定含义的单词
特点:全部小写。
注意事项:
A:goto和const作为保留字存在。
B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记
下面用Notepad++来写一个java小程序,其中关键字就是用绿色标记的几个单词:
1.2标识符
1.2.1 定义及特点
定义:就是给类,接口,方法,变量等起名字的字符序列
特点:由26个英文字母大小写,数字:0-9,符号:_、$组成。
1.2.2 定义合法标识符规则
1. 数字不可以开头,例如:2Demo就不可以。
2. 不可以使用关键字,例如:public就不可以,因为public是关键字。
3. 不可以包含“_、$”以外的特殊符号,例如:“Demo Test”就不可以,其中的空格就是特殊符号。
1.3注释
1.3.1定义和作用
定义:就是对程序进行解释说明的文字
作用:
1、解释说明程序,提高了代码的阅读性。
2、可以帮助我们调试程序。
1.3.2 Java中的注释格式
1. 单行注释
格式: //注释文字
2. 多行注释
格式: /* 注释文字 */
3. 文档注释
格式:/** 注释文字 */
例如:
/**这是我的第一个Java程序。@author classmate*/class JavaDemo{ /* 这是主函数,是程序的入口。 它的出现可以保证程序的独立运行。 */ public static void main(String[] args){ //这是输出语句用于将括号内的数据打印到控制台。 System.out.println("Hello World"); }}
1.4常量
1、字面值常量
2、自定义常量
2、整数常量 12,23
3、小数常量 12.345
4、字符常量 'a','A','0'
5、布尔常量 true,false
6、空常量 null(后面讲)
1.5变量
数据类型 变量名 = 初始化值;
例如:byte b = 3;
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
注意:
1、整数默认是int类型,浮点数默认是double类型。
2、长整型后缀用L或者l标。建议使用L。单精度浮点数用F或者f标记。建议使用F。
1.5.3 常见错误
示例一:
class DataTypeDemo{public static void main(String [] args){//定义一个整型变量int i = 100000000000;System.out.println(i);}}
编译时出错:
class DataTypeDemo{public static void main(String [] args){//定义一个整型变量long l = 100000000000L;System.out.println(l);}}编译结果:
示例二:
class DataTypeDemo{public static void main(String [] args){//定义一个浮点型型变量float f = 12.34; System.out.println(f);}}
编译出错:
出错原因:由于小数默认是double(8byte)类型,赋值给float(4byte)类型的变量,所以编译时会提示可能会损失精度
解决方法:在数值后面加上一个“f”或“F”,让编译器知道后面的常量是float类型的。
代码如下:
class DataTypeDemo {public static void main(String[] args) {// 定义一个浮点型变量float f = 12.34F;System.out.println(f);}}
编译结果:
示例三:
class DataTypeDemo{ public static void main(String[] args){ float f; System.out.println(f); }}编译出错:
出错原因:变量必须初始化后才能使用。
1.5.4 类型转换
Java是一种强类型语言,针对每种数据都提供了对应的数据类型。类型转换共分两种,自动类型转换和强制类型转换。
1. 自动类型转换(隐式类型转换)
定义:自动类型转换就是不需要我们手动对类型来进行强制转换。
转换规则:1)boolean类型不参与转换
2)byte,short,char -- int -- long -- float -- double
3)byte,short,char之间不相互转换,直接转成int类型参与运算。
class DataTypeDemo3{public static void main(String [] args){//定义一个byte类型,一个int类型,做加法byte a = 3;int b = 4;System.out.println(a + b);}}运行结果:
说明:int类型的变量占4个字节,当byte类型的变量与其相加的时候,首先会将byte类型的变量自动转化为4个字节的int类型,然后再进行加法操作。
2. 强制类型转换(显式类型转换)
定义:强制类型转换需要把类型进行手动转换,否则无法正常使用
class DataTypeDemo3{public static void main(String [] args){//定义一个byte类型,一个int类型,做加法byte a = 3;int b = 4;byte c = a + b;System.out.println(c);}}编译时出错:
出错原因:byte类型(1个字节)的变量a与int类型(4个字节)的变量b相加时,变量a首先被提升为int类型,相加后得到结果为7,也是int类型,将int类型的数值赋值给byte类型的变量c,所以编译时会出现可能损失精度的错误。
解决办法:强制转换
代码如下;
class DataTypeDemo3{public static void main(String [] args){//定义一个byte类型,一个int类型,做加法byte a = 3;int b = 4;byte c = (byte)(a + b);System.out.println(c);}}运行结果:
1.5.5 面试题
1、下面的程序编译时哪条语句会出错?
class DataTypeDemo3{public static void main(String [] args){byte b;byte b1 = 3;byte b2 = 4;b = 3 + 4;b = b1 + b2;System.out.println(b);}}
编译结果:
分析原因:“b = 3 + 4;”语句不会出错的原因是因为3和4是常量,编译器在编译常量运算时,会先把结果算出来,然后判断结果是否在byte范围 内,如果在则不会报错。而“b = b1 + b2”这条语句执行时,编译器会先将byte类型的变量b1和b2提升为int类型,然后得到的结果也是int类型,所以将int类型的结果赋值给byte类型的变量b时会提示可能损失精度。
2、写出下面程序的运行结果:
class DataTypeDemo3{public static void main(String [] args){byte b = (byte) 130;System.out.println(b);}}分析:由于byte类型的数据范围是-128~127,130超过了该范围。我们都知道,计算机中数据的运算都是补码进行的。而要得到补码,首先要计算出数据的二进制。将130赋值给byte类型的变量b时,会将130提升到int型(4个字节),用二进制表示:00000000 00000000 00000000 10000010,这是130的原码,也是130的反码和补码,将该值赋值给byte型变量时,会进行截取操作,变为1个字节,即10000010,这是一个数的补码,我们看到的是原码,所以要求出原码。
已知补码求原码。
符号位数值位补码10000010反码10000001原码11111110即-126
- JavaSE----基础语法(关键字、标识符、注释、常量、变量)
- JavaSE入门学习5:Java基础语法之关键字,标识符,注释,常量和变量
- Java语法基础之关键字、标识符、注释、常量和变量
- 1.2Java基础语法(关键字、标识符、注释、常量、变量...)
- Java基础语法(一)(标识符,关键字,注释,常量,变量,基本数据类型)
- 黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)
- 黑马程序员——java基础语法(一)---关键字、标识符、注释、常量、变量、运算符
- 黑马程序员——Java基础语法(一.关键字、标识符、注释、常量和变量、运算符)
- Java基础语法(一)---关键字、标识符、注释、常量、变量、运算符
- 2 Java基础语法(关键字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换)
- java基础复习之四:注释,标识符,关键字, 变量,常量
- java基础复习之四:注释,标识符,关键字, 变量,常量
- Java语言基础(一)---关键字、标识符、注释、常量、变量、运算符
- 黑马程序员----Java语言基础1(关键字、标识符、注释、常量和变量、运算符)
- 黑马程序员——Java语言基础(一)---关键字、标识符、注释、常量、变量、运算符
- Java语言基础(关键字、标识符、注释、常量、变量、运算符)
- 黑马程序员----Java基础(一):关键字、标识符、常量、变量
- Java基础语法(1)----关键字、标示符、注释、常量、进制、变量、运算符
- 核间通信原理
- linux常用命令或功能
- PHP+MYSQL如何插入记录到数据库
- 高版本数据库还原低版本的bak
- kappa 一致性系数计算实例
- JavaSE----基础语法(关键字、标识符、注释、常量、变量)
- HYSBZ 1012 最大数maxnumber
- 【小松教你手游开发】【unity实用技能】u3d 当你发现一个函数被调用,但是完全找不到是谁调用的时候
- 操作系统的启动
- VC 各种情况下的窗口句柄的获取
- Android开发 MeasureSpec介绍
- codevs1026
- thinkphp的知识点
- hashCode与equals的区别与联系