-------android培训、java培训、期待与您交流! ----------
Java语言的基础组成
关键字、标识符、注释、常量和变量、运算符、语句,函数、数组
1、关键字
定义:被java语言赋予特殊含义的单词。
特点:关键字中所有字母都为小写
2、标识符
一 在程序中自定义的一些名称。
二 由26个英文字母大小写,数字:0-9符号:_$组成
三 定义合法标识符规则:
a) 数字不可以开头。
b) 不可以使用关键字。
四 Java中严格区分大小写。
五 注意:在起名字的时,为了提高阅读性,要尽量有意义。
Java中的名称规范:
(一) 包名:多单词组成时所有字母都小写
例如:xxyy
(二) 类名接口名:多单词组成时,所有单词的首字母大写。
例如:XxxYyy
(三) 变量名和函数名:多单词组成时,第一个单词首字母小写, 第二个单词开始每个单词首字母大写。
例如:xxxYyyZzz
(四) 常量名:所有字母都大写,多单词时每个单词用下划线连接
例如:XX_YY_ZZ
3、注释: (以下几个方面掌握注释)
一 用于注解说明解释程序的文字就是注释。
二 提高代码的阅读性
三 Java中的注释格式:
1.1 单行注释:
格式://注释文字
1.2 多行注释:
格式:/*注释文字*/
1.3 文档注释:
格式:/**注释文字*/
四 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
五 对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
六 注释是一个程序员必须要具有的良好编程习惯。
七 初学者编写程序可以养成习惯:先写注释再写代码。
一 将自己的思想通过注释先整理出来,在用代码去体现。
二 因为代码仅仅是思想的一种体系形式而已。
总之,对于同一个问题每个人的思路想法是不一样的,代码仅仅是一种思想的表现形式,注释是为了更好的屡清自己的思路,方便阅读,也为以后功能提高或是程序有缺陷时便于查找和阅读。
例如:
/**
* 这是我的Hello World程序。
* @author 濛濛
*/
public class Demo {
/*
* 这是主函数,是程序的入口
* 它的出现可以保证程序的独立运行。
*/
public static void main(String[]args) {
// 这是输出语句用于将括号内的数据打印到控制台。
System.out.println("HelloWorld");
}
}
4、常量和变量
4.1 常量:表示不能改变的数值。
一、 Java中常量的分类:
1) 整数常量。所有整数
2) 小数常量。所有小数
3) 布尔型常量:较为特有,只有两个数值。true,false。
4) 字符常量:讲一个数字字母或者符号用单引号('')标识。
5) 字符串常量:将一个或多个字母用双引号标识
6) null常量:只有一个数值就是:null
二、 对于整数:java有三种表现形式。
十进制:0-9,满10进1。
八进制:0-7,满8进1.用0开头表示。
十六进制:0-9,A-F,满16进1。用0X开头表示。
三、 进制的基本转换
a) 十进制——二进制 互转
规律:
十进制转成二进制 除以2取余数
二进制转成十进制 乘以2的幂数
b) 十进制——八进制 互转
c) 十进制——十六进制 互转
4.1 变量:(从以下几个方面来认识变量)
(一) 概念:将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
解释:
1) 内存中的一个存储区域,
2) 该区域有自己的名称(变量名)和类型(数据类型)。
3) 该区域的数据可以在同一类型范围内不断变化。
(二)作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
(三) 特点:变量空间可以重复使用。
(四) 为何要定义变量:用来不断的存放同一类型的常量。并可以重复使用。
(五) 使用变量注意:变量的作用范围(一对{}之间有效),初始化值
(六) 定义变量的格式:数据类型 变量名=初始化值。
注:格式是固定的,记住格式,以不变应万变,
(七) 什么时候定义变量?
当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。
理解:变量就如同数学中的未知数。
(八) 变量空间的开辟需要什么要素呢?
1) 这个空间要存储什么数据?数据类型。
2) 这个空间叫什么名字啊?变量名称。
3) 这个空间的第一次的数据是什么? 变量的初始化值。
(九) 变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型。在内存总分配了不同大小的内存空间。
例如:定义long时,long=4l,float f=2.3f。doubled=34.34。char c=’4’。
自动类型转换(也叫隐式类型转换):从低级别到高级别,系统自动转的;
强制类型转换(也叫显示类型转换):什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
类型转换的原理
什么时候要用强制类型转换?
表达式的数据类型自动提升
所有的byte型、short型和char的值将提升到int型。
如果一个操作数是long型,计算结果是long型;
如果一个操作数是float型,计算结果是float型;
如果一个操作数是double型,计算结果是double型。
分析
System.out.println('a')与System.out.println('a'+1)的区别。
类型转换:
byte b=3;b=b+2;b占一个八位,2占四个八位,b+2和要强制转换成byte型,再赋给b。
'a'+1输出是98.因为a在对电脑中对应97,运行结果要进行强制转换(char)('a'+1)结果是b。
自动类型提升
byteb=3;
intx=4;
x=x+b;//b会自动提升为int类型进行运算。
强制类型转换
byte b=3;
b=b+4;//报错
b=(byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
思考:
byte b1=3,b2=4,b;
b= b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
b= b1+b2;编译失败,b=3+4;编译成功。
程序流程控制语句
分四类:
a) 判断结构(if)
b) 选择结构(switch)
c) 循环结构(do while;while;for)
d) 其他流程控制语句(break;continue)
一、判断结构(if)
1、if语句三种格式:
1, if(条件表达式) 3, if(条件表达式)
{ {
执行语句; 执行语句;
} }
2, if(条件表达式) else if (条件表达式)
{ {
执行语句; 执行语句;
} }
else ……
{ else
执行语句; {
} 执行语句;
}
2、If语句特点:
a) 每一种格式都是单条语句。
b) 第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c) 条件表达式无论写成什么样子,只看最终的结构是否是true或者false。
3、注意事项:
1) 第三种格式中只要有一个满足条件的就结束。
2) if到第一个分号“;”为止。
3) ifelse 结构 简写格式:变量=(条件表达式)?表达式1:表达式2;相当于三元运算符。
4) 三元运算符:好处:可以简化if else 代码。弊端:因为是一个运算符,所以运算完必须要有一个结果。
4、练习:
1,需求1:根据用户定义的数值不同。打印对应的星期英文。
需求2:根据用于指定月份,打印该月份所属的季节。
二、选择结构
1、switch语句格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default:
执行语句;
break;
}
2、switch语句特点:
工作原理:用switch后小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了,就执行哪个case后面的语句,如果没有相同的则执行default后面的语句。
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
4):结束switch语句的两种情况:遇到break,执行到switch语句结束。
3、练习
需求2:根据用于指定月份,打印该月份所属的季节。
注意事项:
if与switch语句。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
-------android培训、java培训、期待与您交流! ----------