您的位置:首页 > 职场人生

黑马程序员-----基本语法

2015-08-19 17:52 281 查看
------ <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)不可以包含“、组成
使用规则:
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();
}
}
}


—— android培训java培训、期待与您交流! ———-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: