黑马程序员-----JAVA基础语法(一)

                  ---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

JAVA语言基础组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组。

1.关键字:

黑马程序员-----JAVA基础语法(一)_第1张图片

黑马程序员-----JAVA基础语法(一)_第2张图片

2.标识符:在程序中自定义的一些名称。比如:类名、方法名、变量名等。包含26个英文字母大小写,数字:0~9,符号:_$。

注意:1.数字不可以开头;2.不可以使用关键字。

3.注释:对程序做的注解说明,提高代码可读性的一种手段。

JAVA中的三种注释:单行(//内容)、多行(/*内容 */)、文档(/** 内容*/)。

4.常量:不能改变的数值。

   变量:其实就是内存中一个存储空间,用于存储常量数据。

   作用:方便于运算。因有些数据不确定,所以确定定该数据的名词和存储空间。

   定义变量----->数据不确定的时候定义。

   变量开辟空间需要的要素:数据类型、变量名称、变量的初始化值。

   变量的作用域和生存周期:

   作用域---->从变量定义开始到该变量所在的那对大括号结束(一对{}之间有效);

   生命周期---->从变量从定义开始到它所在的作用域时在内存中消失。

    数据类型:1.基本数据类型(四类八种):整型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节);

                                                               浮点型:float(4个字节)、double(8个字节);

                                                               字符型:char(2个字节);

                                                               布尔型:boolean();

    2.引用数据类型:数组([],array)、类(class)、接口(interface)。

    由低到高:byte,char,short--->int--->float--->long--->double;

    自动类型转换:低--->高,系统自动转换;

    强制类型转换:把一个高级别的数赋给一个低于该数的级别的变量。   

/**
 *练习:自动类型提升
	byte b = 3;
	int x = 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;//报错,强制类型转化,强制将b1+b2的结果转换为byte类型,再赋值给b.
	b=3+4;
	
 * 
 */

5.运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符

黑马程序员-----JAVA基础语法(一)_第3张图片

赋值运算符:=  +=  -=  *=  /=   %=

/**
	 * 练习:
	 * 1.int a,b,c; 
	 * a=b=c=3;
	 * int a=3;
	 * a+=5;等同运算a=a+5;
	 * 
	 */
黑马程序员-----JAVA基础语法(一)_第4张图片
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

public class Test10Demo {		
	public static void main(String[] args) {		
		  System.out.println(3>2);//true
		  System.out.println(3==2);//false		 
	}
}

 
  

黑马程序员-----JAVA基础语法(一)_第5张图片

  ^(异或):两边结果一样,就为false;两边结果不一样就为true。

  &和&&的区别:&:无论左边结果是什么,右边都参加运算;

      &&:短路与,如果左边为false,那么右边不参与运算。

  |和||区别:|:两边都运算;

     ||:短路或,如果左边为true,那么右边不参与运算。

黑马程序员-----JAVA基础语法(一)_第6张图片

位运算是直接对二进制运算。

黑马程序员-----JAVA基础语法(一)_第7张图片

异或运算中,当一个数异或同一个数两次,结果等于它本身。如a^b^b=a

练习:

*练习:
 * 1.最有效率的方式算出2乘以8等于几?2<<3;
 * 2.对两个整数变量的值进行互换(不需要第三方变量)
 * @author Administrator
 *
 */
public class Test10Demo {		
	public static void main(String[] args) {		
		System.out.println(2<<3);//位运算:左移2的3次幂
		int a=3,b=5;
		System.out.println("互换前a="+a+",互换前b="+b);
		a=a^b;
		b=a^b;//b=a^b^b=a
		a=a^b;//a=a^a^b=b
		System.out.println("互换后a="+a+",互换后b="+b);
	}
}
三元运算符:

格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;

/**
 *练习:
 * 获取两个数中大数。
 * @author Administrator
 */
public class Test10Demo {		
	public static void main(String[] args) {						
		int x=3,y=4,z;
		z = (x>y)?x:y;//z变量存储的就是两个数的大数。
		System.out.println(z);
	}
}

 6.流程控制语句: 顺序结构、判断结构、循环结构、选择结构

判断:

if语句三种格式:

1.if(条件表达式){
          执行语句;}
2.if(条件表达式){
       执行语句;}
else{
执行语句;}
3.if(条件表达式){
   执行语句;}
else if (条件表达式){
    执行语句;}

……
else{
执行语句;}

if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者false;

选择:

switch语句
格式:
switch(表达式){
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}

switch语句特点:
a,switch语句选择的类型只有四种:byte,short,int ,char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

循环:

代表语句:while , do while , for

while语句格式:                                          do while语句格式:                       
while(条件表达式)                                        do{                                                                                                          

{                                                                       执行语句;
执行语句;                                                      }while(条件表达式);
}
do while特点是条件无论是否满足,循环体至少被执行一次。

格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{执行语句;}
注:
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

break(跳出)语句:应用范围:选择结构和循环结构。

当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号
continue(继续)语句:应用于循环结构。
作用:结束本次循环,继续下次循环。

注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。

import java.util.Scanner;
/**
一年有四季,
春季:3 4 5
夏季: 6 7 8
秋季: 9 10 11
冬季: 12 1 12
根据用户输入的月份,给出相应的月份
*/	
public class Test10Demo {		
	private static Scanner sc;
    public static void main(String[] args) {						
		System.out.println("请输入月份:");
	    sc = new Scanner(System.in);
	    int month=sc.nextInt();//将输入的月份赋给变量
		if (month< 1||month>12)//判断
			System.out.println(month+"月没有对应的季节");//输出结果
		else if (month>=3&&month<=5)
			System.out.println(month+"月是春季");//输出结果
		else if (month>=6&&month<=8)
			System.out.println(month+"月是夏季");//输出结果
		else if (month>=9&&month<=11)
			System.out.println(month+"月是秋季");//输出结果
		else
			System.out.println(month+"月是冬季");//输出结果	
	}
}
import java.util.Scanner;
/**
根据用户输入的数据,给出相应的星期
*/	
public class Test10Demo {		
    private static Scanner sc;
    public static void main(String[] args) {						
	    System.out.println("请输入数据:");
	    sc = new Scanner(System.in);
	    int week=sc.nextInt();//将输入的数据赋给变量	   
		switch (week)
		{
		case 1:
			System.out.println(week+"对应的是星期一");
		break;
		case 2:
			System.out.println(week+"对应的是星期二");
		break;
		case 3:
			System.out.println(week+"对应的是星期三");
		break;
		case 4:
			System.out.println(week+"对应的是星期四");
		break;
		case 5:
			System.out.println(week+"对应的是星期五");
		break;
		case 6:
			System.out.println(week+"对应的是星期六");
		break;
		case 7:
			System.out.println(week+"对应的是星期日");
		break;
		default:
			System.out.println(week+"没有对应的星期");
		break;
		}
	}
}
/**
求1~100之间的奇数和、偶数和
*/	
public class Test10Demo {			
    public static void main(String[] args) {
    	int Jsum=0;//奇数和
    	int Osum=0;//偶数和
    	for(int i=1;i<=100;i++)
    	{
    		if(i%2==0)
    		{
    			Osum+=i;
    		}
    		else
    		{
    			Jsum+=i;
    		}
    	}
    	System.out.println("1~100的奇数和是:"+Jsum);
    	System.out.println("1~100的偶数和是:"+Osum);
    }    
}

              ---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

你可能感兴趣的:(JAVA学习笔记,黑马程序员,java)