黑马程序员----java的基本语法 变量 运算符 选择结构 循环结构 方法 数组

 ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

标识符

 1.在程序中自定义的一些名称。
 2.由26个英文字母大小写,数字:0—9,符号:_$组成
 3.定义合法标识符规范:
 数字不可以开头   不可以使用关键字
 Java中严格区分大小写。注意:在起名字时,为了提高阅读性,要尽量有意义。
 main不是关键字,但是被虚拟机识别的名称。
 Java中的名称规范:
 1.包名:多单词组成时所有字母都小写。xxxyyyzzz
 2.类名接口名:多单词组成时,所有单词的首字母大写。XxxYyyZzz
 3.变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单次首字母大写。xxxYyyZzz
 4.常量名:所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ
 java中的注释格式:
 1.单行注释  格式://注释文字
 2.多行注释  格式:/*注释文字*/
 3.文档注释  格式:/**注释文字*/
 对应单行和多行注释,被注释的文字,作为纯文本存在,不会被JVM(Java虚拟机)解释执行。
 对于文档注释,是Java特有的注释,其中注释的内容可以被JDK提供的工具javadoc所解析,生成一套以网页形式体现的该程序的说明文档。

 常量与变量
 1.常量表示不能改变的数值
 2.Java中常量的分类:
 整数常量,所有整数
 小数常量,所有小数
 布尔型常量,较为特有,只有两个数值 true、false
 字符常量,将一个数字字母或者符号用('')标识
 字符串常量,将一个或者多个字符用双引号标识
 null常量,只有一个数值就是:null.
 3.对于整数:Java有三种表现形式
 十进制:0-9,满10进1.
 八进制:0-7,满8进1,用0开头表示。
 十六进制:0-9,A-F,满16进1,用0x开头表示。
 二进制:0-1 ,满二进一
 每个字节是由八个开关组成     二进制形式存储
 ASCII编码表   编码表的由来   进制越大表现形式越短
 3位2进制代表一位  八进制
 4位2进制代表一位  十六进制     进制转换特点 之所以出现八进制、十六进制是为了更方便的表示数据。

 负数的二进制表现形式(任何数据都可以用二进制表示)对应的正数二进制取反加1,负数的最高位都是1.(1是取反取来的)

取反:将二进制的1变成0,0变成1.


变量(黑马程序员)

1.变量的概念:

内存中的一个存储区域

该区域有自己的名称(变量名)和(数据类型)

该区域的数据可以在同一类型范围不断变化




2.为什么要定义变量?

用来不断的存放同一类型的常量,并可以重复使用

使用变量注意事项:

变量的作用范围(一对{}之间有效)

初始化值

定义变量的格式:

数据类型 变量名=初始化值;

注:格式是固定的,记住格式,以不变应万变。

理解:变量就如同数学中的未知数,




3.变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。

如何开辟内存空间呢?

通过明确数据类型、变量名称、数据来完成的。




4.java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间。




同一区间内不能定义同名变量。




什么时候定义变量?

当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。



类型转换(黑马程序员)

类型的转换

byte b=3;

b=b+2;强类型导致编译失败(自动类型提升,小的向大的提升)



//强制转换

b=(byte)(b+2);(将(b+2)的和强制转换成byte类型在赋给b)





.算数运算符

运算符:

算数运算符

赋值运算符

比较运算符

逻辑运算符

位运算符

三元运算符




class OperateDemo

{

public static void main(String[] args)

{

int x=4270;



x=x/1000*1000;



System.out.println(x);

}

}




取模:取模就是取余数

左边小于右边结果是左边

左边等于右边结果是0

右边是1,结果是0

有负数只看左边(被模数)
 

上下可以调出你之前在dos命令行输入的命令

字符串数据和任何数据使用+都是相连接,最终都会变成字符串。




转义字符(黑马程序员)

转义字符:通过\来转变后面字母或者符号的含义。

\n:换行   \b:退格 (相当于backspace)    \r:按下回车键

\t:制表符(相当于Tab键)

在Linux系统中换行是由\n来表示的。

dos系统可以直接识别\n、换行。

Window系统,回车符是由两个字符来表示\r\n.




注意事项:转义符号要写在被转义字母或者符号的前面。




一个中文默认两个字节  

char ='你';---ok的(char类型两个8位)

 赋值和比较运算符(黑马程序员)




=、+=、-=、/=、*=、%=(赋值运算符)




class OperateDemo

{

public static void main(String[] args)

{

short s=4;

s=s+5;(编译失败,两次运算,运算完是一个int值)

s+=5;(编译通过,就是一次运算,有一个自动转换动作)




int a,b,c;

a=b=c=5;(同时给a,b,c赋值)。

}

}




比较运算符




注1:比较运算符的结果都是boolean型,也就是要么是true、要么是false。

注2:比较运算符"=="不能误写成"=".(System.out.println(3=4)是不可以的)

 逻辑运算符(黑马程序员)




&:"雨"       |:"或"      ^:"异或"




逻辑运算符用于连接boolean类型的表达式。

x>3&x<6;(x大于3并且小于6)




true & true = true;

true & false = false;

false & true = false;

false & false = false;

&:只要两边的boolean表达式结果,有一个为false,那么结果就是false,只有两边都为true,结果为true。




true | true = true;




true | false = true;




false | true = true;




false | false = false;




|:两边只要有一个为true,结果为true,只有两边都有false,结果为false。




true ^ true = false;

true ^ false = true;

false ^ true = true;

false ^ false = false;




^:就是和|有点不一样,当true^true=false;两边相同结果是false,两边不同结果是true。

!true(非真————假)




&和&&的特点:

&:无论左边是true是false,右边都运算

&&:当左边为false时,右边不运算

    当左边为true时,右边运算




|和||的特点:




|:两边都参与运算      ||:当左边为true,右边不运算。






位运算符(左移右移)




<<:左移  >>:右移    >>>:无符号右移   

注:位运算是直接对二进制进行运算。




<<:其实就是乘以2的移动的位数次幂

>>:就是除以2的移动的位数次幂   (都是以2的倍数为基数)




>>和>>>的区别?

>>:最高位补什么由原有数据的最高位值而定

   如果最高位是0,右移后,用0补空位

   如果最高位是1,右移后,用1补空位

>>>:无论最高位是什么,右移后,都用0补。




0视为假(false),1视为真(true)

一个数异或同一个数两次,结果还是那个数(加密算法,相当复杂,数据按照某一种规律加密)

 




位运算符(三元运算符)




格式:

变量=((条件表达式?)表达式1:表达式2;)

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;




只要看到条件表达式,无论里面写的简单复杂,运算完的结果不是true就是false。




 语句(if)程序流程控制1.判断结构         2.选择结构     3.循环结构
 if语句三种格式:

1.if(条件表达式)      

{

执行语句;
 }




----------------------------------------------------------------

2.if(条件表达式)

{

                    执行语句;

}

             else

{

                    执行语句;

} ---------------------------------------------------------------

3.if(条件表达式)

 {

                    执行语句

 }

                                 else if(条件表达式)

 {

                        执行语句;

 }

 ......

          else

 {

                        执行语句;

                 }
  if else结构   简写格式: 变量=(条件表达式)?表达式1:表达式2;

三元运算符:

好处:可以简化if  else代码

弊端:因为是一个运算符,所以运算完必须要有一个结果

语句(Switch)选择结构:


switch语句:

switch(表达式){

                        case  取值1:

                                        执行语句;

                                        break;

                        case 取值2:

                                        执行语句;

                                       break;

                                        ........

                                        default:

                                            执行语句;

                                                break;(跳出)

            }




执行顺序是固定的,但是default和case的定义位置是可以随意的。
 

 if和switch语句很像,具体什么场景下,应用那个语句呢?如果判断的具体数值不多,而是符合byte,short,int,char这四种类型,虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。(JDK不断升级,到了 7.0以后对switch语句进行了增强,它不仅可以判断byte,short,int,char这四种类型,还可以判断字符串。5.0以后可以对枚举类型进行选择。)

       循环结构...................................


循环结构分为while循环结构 do......while循环结构和for循环结构

    while循环结构会不断的进行条件判断,只要条件满足,{}内的执行语句就会执行,直到条件不成立,循环结束,

    while语句循环格式

         初始化表达式

     while(循环条件){

     执行语句

  }

   例题:

class  WhileDemo
{
    public static void main(String[] args)
    {
        /*int x = 1;
    
        while(x<=10)
        {
    
        System.out.println("x="+x);
        x+=2;
        }*/
        int x = 1;
        do
        {
        System.out.println("x="+x);
        x++;
        }
        while (x<3);
    }
}

 do...while 循环结构

关键字do 后面{}中的执行语句是循环体,do while循环语句将循环条件放在了循环体的后面,这就是说,循环体会无条件的执行一次,然后再根据循环条件来决定是否继续执行

格式

do {

执行语句


}while(循环体);

for循环语句:

一般用在循环次数已知的情况下。。。

格式:

for(初始化表达式;循环条件;操作表达式) {

执行语句


}

例题

class Demo2 {
    public static void main(String[] args) {
         int sum = 0;
        for (int x=1;x<=100;x++){
            if (x%2==1) {
            sum += x;
            
            }
            
            
        
        }
    
    
    System.out.println(sum);
    }
}


总结:

明确次数用for循环    不明确次数用while循环   循环体至少执行一次用do ......while循环




跳转语句:

跳转语句用于实现循环执行过程中程序流程的跳转,在java中跳转语句有break,continue语句,

  break语句的作用是当条件不符合时结束循环体(跳出循环)。continue语句作用是终止本次循环继续下次循环

   方法:

   什么是方法:完成特定功能的代码块

  方法的格式:

 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数2.....){

 方法语句

return返回值

}

参数:分为实际参数 形式参数

实际参数就是实际参与运算的    形式参数是就是方法定义上的,用于接收实际参数的

注意:实际参数和形式参数的类型保持一致。

函数的一个重要特性——重载(override)

      概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数列表的个数或者参数类型不同即可。

      特点:与返回值类型无关,只看参数列表。

      好处:方便于阅读,优化了程序设计。

      示例:

              //返回两个整数的和

              int add(int x,int y){return x+y;}

              //返回三个整数的和

              int add(int x,int y,int z){returnx+y+z;}

              //返回两个小数的和

              double add(double x,double y){return x+y;}

什么时候用到重载?

      当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

 























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值