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

  ------ <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,符号:_、 使12使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培训、期待与您交流! ———-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值