Day 1:JAVA数据类型
首先,我们还是要先熟悉以下HelloWorld这个百搭程序!!!
*Java程序那个部分
-
通过class关键字定义了一个名称为Demo的类
-
为了保证程序的运行,定义了一个主方法,格式是固定的
-
输入输出语句,显示数据在屏幕上, 实现人机交互
软件开发流程:需求分析----设计----开发----测试
JVM:Java Virtual Machine
JRE:Java Runtime Environment
JDK:Java Development Kit
#简述classpath环境变量值结尾处是否需要加分号,有何区别?
答:
A、不加分号时Java程序运行时只加载已配置的classpath路径中的类而不会加载当前目录 下得类文件;
B、加分号时Java程序运行时会优先选择已配置的classpath路径,当classpath路径下无法找到需运行的类文件则会 搜索当前文件夹是否存在该类。
(配置classpath时前面加‘.;’可吧当前目录加到classpath配置路径中)
main方法:
(1)是什么:是一个定义在类中的一个独立的代码,可让该类独立运行
(2)有 什么特点:a.格式固定 b.保证该类独立运行 c.该类入口 d.被JVM调用
(3)怎么用:public static void main(String[] args){}
(4)什么时候用:当一个类需要被独立运行时,则要调用该类中已定义的main方法
接着,我们就来进入正题了,也许语言比较文绉绉,说个实话给你们听吧,我是一个文科生,哈哈哈!!!
1、关键字
关键字的定义和特点
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写
用于定义数据类型的关键字
class interface byte short
int long float double
char boolean void
用于定义数据类型值的关键字
true false null
用于定义流程控制的关键字
if else switch
case default while
do for break
continue return
用于定义访问权限修饰符的关键字
private protected public
用于定义类,函数,变量修饰符的关键字
abstract final static synchronized
用于定义类与类之间关系的关键字
extends implements
用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符关键字
native strictfp transient volatile assert
2、标示符
在程序中自定义的一些名称。
a.由26个英文字母大小写,数字:0-9 符号:_ $ 组成
b.定义合法标识符规则:
(1)数字不可以开头。
(2)不可以使用关键字。
c.Java中严格区分大小写。
(注意:在起名字的时,为了提高阅读性,要尽量有意义。)
d.Java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
3、注释
(1)用于注解说明解释程序的文字就是注释。
提高了代码的阅读性。
Java中的注释格式:
单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
文档注释
格式:/** 注释文字 */
(2)对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
注释是一个程序员必须要具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释再写代码。
将自己的思想通过注释先整理出来,在用代码去体现。
因为代码仅仅是思想的一种体现形式而已。
4、常量与变量
a.常量表示不能改变的数值。
b.Java中常量的分类:
1,整数常量。所有整数
2,小数常量。所有小数
3,布尔(boolean)型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号(“ ”)标识。
6,null常量。只有一个数值就是:null.
c.对于整数:有四种表现形式。
二进制:0,1 ,满2进1.
八进制:0-7 ,满8进1. 用0开头表示。
十进制:0-9 ,满10进1.
十六进制:0-9,A-F,满16进1. 用0x开头表示。
d.变量的概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
e.为什么要定义变量:
用来不断的存放同一类型的常量,并可以重复使用
f.使用变量注意:
变量的作用范围(一对{}之间有效)
初始化值
h.定义变量的格式:
数据类型 变量名 = 初始化值;
注:格式是固定的,记住格式,以不变应万变。
(理解:变量就如同数学中的未知数。)
i.Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
(整数默认:int 小数默认:double)
j.类型转换
自动类型转换(也叫隐式类型转换)
强制类型转换(也叫显式类型转换)
类型转换的原理
什么时候要用强制类型转换?
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
分析:System.out.println(‘a’)与System.out.println(’a’+1) 的区别。
例子:
自动类型提升
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。