------ <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一、标识符
1、Java语言基础由关键字、标识符、注释、常量和变量、运算符、语句、函数和数组等组成。注:Java中严格区分大小写。
2、组成:由26个英文字母大小写,数字:0-9,符号:_、
组成使用规则:1)数字不可以开头。2)不可以使用关键字。3)不可以包含“、
”以外的特殊符号,其中的空格就是特殊符号。
3、Java中的名称规范:
1)包名:多单词组成是所有字母都小写。例:xxxyyyzzz
2)类名接口名:多单词组成时,所有单词的首字母大写。例:XxxYyyZzz
3) 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。例:xxxYyyZzz
4) 常量名:所有字母都大写。多单词时每个单词用下划线连接。例:XXX_YYY_ZZZ
二、注释
1、单行注释
格式://注释文字
2、多行注释
格式:/注释文字/
3、文档注释
格式:/*注释文字/
**注:**1)可以使用注释对代码中的错误进行定位。当程序运行报错时,将某些代码注释掉,然后重新编译运行。如果程序不再报错,那么说明注释掉的部分代码中包含错误代码。
三、常量和变量
1、常量:一直不会改变的量称为常量。
2、变量:
成员变量:在类体中定义的变量
局部变量:在类的方法体中定义的变量
例: public classA
{ 成员变量;
Public static void main()
{ 局部变量;}
}
3、局部变量可以与成员变量的名字相同,此时成员变量将被隐藏(即这个成员变量在此方法中暂时失效),如果想要调用成员变量,需要使用“类名.静态变量”调用。
例:package com.shan;
public class Demo36 {
static int times=3;
public static void main(String[] args) {
int times=4;
System.out.println("times的值是"+times); //输出局部变量的值
System.out.println("times的值是"+Demo36.times);//输出静态变量,即成员变量的值。类名.静态变量的形式调用
}
}
四、进制的基本转换
1、十进制转二进制。
原理:对十进制数进行除2运算。
例:将十进制6转换成二进制
6/2=3……0
3/2=1……1
1/2=0……1
6转成二进制是110
2、二进制转十进制。
原理:二进制乘以2的过程。
例:将二进制110转换成十进制
110=1*2*1+1*2*2=6
110转成十进制是6
3、十进制转八进制。
原理:八进制,其实就是二进制位,3个二进制位,1个八进制位。
例:求十进制数43的八进制数。
十进制43
二进制101011
三位分割000-101-011
八进制053
因此,43(十进制)=101011(二进制)=053(八进制)。
4、十进制转十六进制。
原理:十六进制,其实就是二进制位,4个二进制位,1个十六进制位。
例:求十进制数43的十六进制数。
十进制43
二进制101011
四位分割0010-1011
十六进制2(2)11(B)
因此,43(十进制)=101011(二进制)=0x2B(十六进制)
5、负数的进制
原理:负数的二进制表现形式就是对应的正数二进制取反加1。
例:求-6的二进制表现形式,其实就是对应的正数6的二进制取反加1。
6
0000-0110
取反1111-1001
加1+0000-0001
——————-
1111-1010
注:负数的二进制最高位永远是1。
五、基本数据类型
1、八种基本类型: 占内存大小
Byte 1个字节
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
Boolean
2、在定义long型变量时,结果必须加上“L”或“l”(最好加“L”,防止弄混)
3、在定义float型变量时,结果必须加上“F”或“f”,否则,系统自动将其定义为double型变量
4、类型之间的转换
1)向上转型:小的类型可自动转换为容量大的数据类型
例如:byte,short,char → int → long → float → double
注:byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
boolean 类型是不可以转换为其他基本数据类型。
2)向下转型:大的类型向容量小的数据类型转换,强转,也称为强制类型转换
5、常见问题:
以下代码哪个是正确的?为什么?
a. byte b = 1 + 1;
b. byte b = 1; b = b + 1;
c. byte b = 1; b = b += 1;
d. byte b = 1; b = ++b;
分析:a. 正确。因为右边的数值运算完自动完成了强转操作。
b. 不正确。因为第二条语句中b+1运算完之后类型会提升成int型,在内存中占4个字节,而b仍是byte型,装不下int型数据,会造成数据丢失精度。
c. 正确。因为b = b += 1;相当于把b += 1的结果赋值给b,而b += 1相当于(byte)(b+1),运算符+=在给b赋值时自动完成了强转操作。
d。正确。因为++b相当于(byte)(b+1),运算符++在给b赋值时自动完成了强转,所以编译也没问题。
6、运算符
算术运算符(+ 、— 、* 、/ 、%)
赋值运算符(= 、+=、-=、*=、/=,、%=)
关系运算符(>、>=、<、<=、!=)
条件运算符(&&、||、!&、|、^)
位运算符(&、|、>>、<<、<<<、>>>)
7**、总结:**
1)&:全真为真(只有两边都为true,结果为true)
|:全假为假(只有两边都为false,结果为false)
^:(异或)两边相同,结果为false,两边不同,结果为true
2)&和&&的特点:
&:无论左边是true还是false,右边都运算。
&&:当左边为false时,右边不运算。
3)|和||的特点:
|:两边都参与运算。
||:当左边为true时,右边不运算。
4)<<:相当于乘以2的倍数
:相当于除以2的倍数
最高位补什么由原有数据的最高位值而定。
如果最高位为0,右移后,用0补空位;如果最高位为1,右移后,用1补空位;:(无符号右移)无论最高位是什么,右移后,都用0补。
5)运算符的优先级:
增量和减量运算<算术运算<比较运算<逻辑运算<赋值运算
六、流程控制
1、条件语句:
1)if语句
If语句有三种:if语句、if-else语句、if-else-if-else语句。
代码实现:
Public class IfTest()
{public static void main(String[] args)
{int score=95;
if(score>=90)
System.out.println(“成绩优异”);
if(score>=60)
System.out.println(“成绩合格”);
else
System.out.println(“成绩不合格”);
}
}
2)switch-catch语句
使用这个语句,需要注意:
表达式的计算结果类型只能是byte、short、int、char这四种之一。
每个case语句后面的语句块结束时用break来结束分支。
Default语句可以放在 switch语句的任意位置,是默认选择,即没有一个case语句满足条件时,就会执行default语句。
格式:
switch(表达式)
{case 值1:
功能代码;
break;
case 值2:
功能代码;
break;
case 值3:
功能代码;
break;
…..
default:
功能代码;
break;
}
2、循环语句:
1)while语句
特点:先判断,在执行
格式:while(循环条件)
{循环体;}
2)do-while语句
特点:先循环,在判断
格式:
do
{循环体;}
while
{循环条件}
3)for语句
格式:for(初始化语句;循环条件;更新计数器语句)
{循环体;}
/* 等腰星形 */
class Demo{
public static void main(String[] args){
for(int x=0;x<5;x++){
for(int y=x;y<5;y++){
System.out.print("-");
}
for(int z=0;z<=x;z++){
System.out.print("* ");
}
System.out.println();
}
}
}
`
/*数字的输出*/
class Demo{
public static void main(String[] args){
for(int x=1;x<=5;x++){
for(int y=1;y<=x;y++){
System.out.print(y);
}
System.out.println();
}
}
}
/*九九乘法表*/
class Demo{
public static void main(String[] args){
for(int x=1;x<=9;x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}