Java语言基础1

Java语言基础 1:关键字、标识符、进制转换、变量、常量、强制类型转换

PS:(1)线上API文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

(2)点击“索引”,然后command+f,做全文搜索。

1、关键字

(1)定义:关键字是被Java语言赋予特定含义的单词,组成关键字的单词都是小写字母。

(2)注意:

  • goto和const 是保留字,目前并不使用。
  • 类似于Notepad++这样的高级编辑器都对关键字都颜色标记。

2、标识符

(1)标识符就是给类、接口、方法、变量等起名字时使用的字符序列。

(2)组成规则:英文大小写字母、数字字符0-9、美元符号 $、下划线 _ 组成。

(3)注意事项:标识符 不能以数字开头、不能是Java中的关键字、Java语言严格区分大小写。

(4)标识符的常见命名规则:

  • 标识符要见名知意。学生类的定义:class Student { }
  • 包:其实就是文件夹,用于把相同的类名进行区分。包名全部小写。

        单级包:cmm

        多级包:cn.itcast

        意思是指: cn

                                itcast

  • 类或者接口:一个单词:单词的首字母必须大写。举例:Student,Dog     多个单词:每个单词的首字母必须大写。举例:HelloWorld,StudentName
  • 方法或者变量:一个单词:单词的首字母小写。举例:main,age     多个单词:从第二个单词开始,每个单词的首字母大写。 举例:studentAge,showAllNames()
  • 常量:一个单词:全部大写。举例:PI        多个单词:每隔单词都大写,用下划线 _ 隔开。举例:STUDENDT_MAX_AGE

3、注释

(1)用于解释说明程序的文字。解释说明程序,提高程序的阅读性,帮助调试程序。

给别人看的,不是给计算机看的。

(2)Java中注释的分类和格式:

单行注释://                (单行注释可以嵌套使用)

多行注释:/*            */ (多行注释不能嵌套使用)

文档注释:/**          */

main方法是主方法,是程序的入口,被Java虚拟机JVM调用。

public static void main(String [ ] args )

写代码之前,先写注释。需求——分析——实现。

4、常量

(1)在Java程序执行过程中,值 不可以发生改变。

(2)分类:字面值常量、自定义常量。

(3)字符串常量:用双引号括起来。“hello”    “HelloWorld”

整数常量:所有的整数。    100      200

小数常量:所有小数。10.23        1.11

字符常量:单引号括起来的内容。'a'    '0'       'ab'(错误的举例)

布尔常量:逻辑判断使用的。true    false

空常量:null

class ConstDemo {
	public static void main(String[] args) {
		System.out.println("hello");
		System.out.println(100);
		System.out.println(100.22);
		System.out.println('A');
		//有问题的AB
		System.out.println('AB');
		System.out.println('1');
		System.out.println(true);		
	}
}

5、进制:1byte=8bit    1k=1024byte    1m=1024k    1g=1024m    1t=1024g

(1)Java针对整数常量提供了4种表现形式:二进制、八进制、十进制、十六进制。

(2)进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
(3)不同进制的数据组成:

            1)二进制 :由0,1组成。以0b开头。   

            2)八进制 :由0,1,…7组成。以0开头。

            3)十进制 :由0,1,…9组成。整数默认是十进制的。

            4)十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头。

(4)十进制和二进制的快速转换:8421码。(位权展开法,辗转相除法、拆分组合法)
(5)二进制和八进制,十六进制如何转换?以十进制作为桥梁。二进制到八进制:3位组合。100110。二进制到十六进制:4位组合。100110

6、有符号数据表示法:符号位+数值位。

在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算在内存中都是采用补码进行的。

(1)原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

(2)反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

(3)补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

总结:正数的原码、反码、补码,三码相同。负数的反码是其原码按位取反,负数的补码是其反码+1。
 

7、变量的概述和格式:

(1)从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

(2)数据类型 变量名 = 初始化值;

(3)为什么要定义变量呢?    用来不断的存放同一类型的常量,并可以重复使用。

(4)Java 是强语言数据类型。针对每一种数据都定义了明确的数据类型。

数据类型分类:

1)基本数据类型(4类8种):整数类型、浮点类型、字符型、布尔型

2)引用数据类型(类、接口、数组)

  • 整数类型:占用内存字节数

            byte:1字节        -128~127

            short:2字节        -65536~65535

            int:4字节(整数默认的类型int)

            long:8字节(后缀使用L或者l 标识,建议使用 L)

  • 浮点类型:

            float:4字节(单精度浮点数使用f或者F结尾,建议使用 F)

            double:8字节(浮点数默认的类型double)

  • 字符型: char:2字节
  • 布尔型: boolean:1字节

class DataTypeDemo {
	public static void main(String[] args) {
		
		//定义一个字节变量
		byte b=10;
		System.out.println(10);
		System.out.println(b);
		
		//定义一个短整型变量
		short s=10;
		System.out.println(s);

		//定义一个整型变量
		int i=100;
		System.out.println(i);

		//定义一个长整型变量
		long j=1000000000000L;
		System.out.println(j);		
		
		//定义一个浮点数变量
		float f=12.3455F;
		System.out.println(f);	

		double d=12.3455;
		System.out.println(d);	
		
		//定义一个字符变量
		char ch='s';
		System.out.println(ch);	

		//定义一个布尔变量
		boolean flag=true;
		System.out.println(flag);				
	}	
}

8、使用变量的注意事项:
(1)作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
(2)初始化值:没有初始化值不能直接使用。在一行上建议只定义一个变量,可以定义多个,但是不建议!

9、数据的默认类型转换(隐士类型转换):对于基本数据类型的数据计算,运算式中的小类型数据首先会转为大类型数据,然后在参与运算(类型提升!)。

面试题1:long 是8字节,float是4字节,但为什么可以由long提升为float类型呢?

答:它们的底层结构不同,并且float 表示的数据范围要比long 的范围大很多。

面试题2:Java 语言中的字符char 可以存储一个中文汉字么,为什么?

答:可以。因为java 语言字符中的占用2个字节。java语言采用的是Unicode编码。

面试题3:哪句会编译失败呢?

byte b1=3, b=4, b;

b=b1+b2;    //编译失败。b1 和b2是byte类型,做运算时,首先会被提升为int 类型,再进行运算,最后再把int                     // 类型的结果赋值给b,而b 是byte类型的,所以出现错误。

b=3+4;        //没问题。常量相加,先把结果计算出来,看看结果是否在byte 的范围内,若不在,才会出现错误。

10、+ 的应用

 

 

注:该系列博客内容参考自传智播客刘意老师视频。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值