java基础语法


Java基础语法:

1、关键字

就是某种语言赋予了特殊含义的单词。

2、标示符:

在程序中自定义的一些名称。有26个英文字母大小写、数字:0—9符号:_$组成

注意

    1),数字不可以开头。

    2),不可以使用关键字。

3、常量与变量:

常量:是在程序中的不会变化的数据。

Java中常量的分类:

1,整数常量。所有整数

2,小数常量。所有小数

3,布尔型常量。较为特有,只有两个数值。truefalse。

4,字符常量。将一个数字字母或者符号用单引号(' ' )标识。

5,字符串常量。将一个或者多个字符用双引号标识。

变量: 内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)该区域的数据可以在同一类型范围内不断变化

为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用

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

初始化值

 定义变量的格式:数据类型变量名 = 初始化值;如下:


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

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

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

特点:变量空间可以重复使用。

变量空间的开辟需要什么要素呢?

    1,这个空间要存储什么数据?数据类型。

    2,这个空间叫什么名字啊?变量名称。

    3,这个空间的第一次的数据是什么? 变量的初始化值。

变量的作用域和生存期:

变量的作用域:

    作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

生命周期:

    变量从定义的位置开始就在内存中活了;

    变量到达它所在的作用域的时候就在内存中消失了;

数据类型:

    1):基本数据类型:byte、short、int、long、float、double、char、boolean

    2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

转义字符的意义:


4、运算符号:

   ( 1)、算术运算符。

        + - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

        +:连接符。

        ++,--

   ( 2)、赋值运算符。

        =  += -= *= /= %=

    (3)、比较运算符。

        特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

   ( 4)、逻辑运算符。

        &  | ^  !   &&  ||

        逻辑运算符除了!  外都是用于连接两个boolean类型表达式。

        &: 只有两边都为true结果是true。否则就是false。

        |:只要两边都为false结果是false,否则就是true

        ^:异或:和或有点不一样。

             两边结果一样,就为false。

             两边结果不一样,就为true.

具体事例参看如下:


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

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

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

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

    (5)、位运算符:用于操作二进制位的运算符。

        &  |  ^

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

 >> :就是除以2的移动的位数次幂。最高位补什么由原有数据的最高位值而定。

 >>>(无符号右移)无论最高位是什么,有以后,都用0补

练习:对两个变量的数据进行互换。不需要第三方变量。(但一般在开发中是用第三方变量的,应为比较直观,容易理解

            int a  = 3,b = 5;-->b = 3,a = 5;

            a = a + b; a =8;

            b = a - b; b =3;

            a = a - b; a =5;

            a = a ^ b;//

            b = a ^ b;//b= a ^ b ^ b = a

            a = a ^ b;//a= a ^ b ^ a = b;

        高效的算出 2*8是用2<<3方法;


5,流程控制语句。

判断、选择、循环( If 、 switch  、do while 、  while  、for)

   这些语句什么时候用?

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

三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。

             if和switch语句很像
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高,其他情况:对区间判断,对结果为boolean类型判断,使                  用if,if的使用范围更广。

switch(变量){

   case 值:要执行的语句;break;

   …

   default:要执行的语句;

}

 工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了

           就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;

 细节:

        1):break是可以省略的,如果省略了就一直执行到遇到break为止;

        2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;

        3):default可以写在switch结构中的任意位置;

while循环:先判断条件,只有条件满足才执行循环体。
do while循环: 先执行循环体,在判断条件,条件满足,再继续执行循环体。

简单一句话:do while:无论条件是否满足,循环体至少执行一次。

对于for循环、1.变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。

for语句执行完毕。该变量在内存中被释放。
2,for和while可以进行互换。如果需要定义循环增量。用for更为合适
总结:
什么时候使用循环结构?当要对某些语句执行很多次时,就使用循环结构。


break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

关于for循环的几个经典小练习:

/*
1,获取1~10的和,并打印。

*/

<strong>class  ForTest2
{
	public static void main(String[] args) 
	{
		/*
	
		//1,定义变量用于存储不断变化的和。
		int sum = 0;
		//2,定义变量,记录住不断变化的被加的数。
		int x = 1;
		//3,定义循环,重复加法的过程。
		while(x<=10)
		{
			sum = sum + x;
			x++;


		}
		System.out.println("sum="+sum);
		*/
		/*
		循环注意:
		一定要明确哪些语句需要参与循环,哪些不需要。
		*/
		/*
	  0+1
		1+2
		 3+3
		   6+4
		   */
		//用for来体现。
		int sum = 0;
		for(int x=0; x<=10; x++)
		{
			sum += x;
			
		}
		System.out.println("for sum = "+sum);

		/*
		其实这就是累加思想。
		原理:通过变量记录住每次变化的结果。
		通过循环的形式。进行累加动作。
		*/
	}
}</strong>

/*
练习:3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。

*/
class  ForTest4
{
	public static void main(String[] args) 
	{
		int day = 0;
		for(int x=3000; x>=5; x/=2)
		{
			day++;
		}
		System.out.println("day="+day);

		/*
		for(int x=3000; x>=5; day++)
		{
			x = x/2;
		}
		*/
	}
}

class  ForForTest
{
	public static void main(String[] args) 
	{
		/*
		
		*
		**
		***
		****
		*****
		
		不是规律的规律:
		尖朝上,可以改变条件。让条件随着外循环变化。

		尖朝下,可以初始化值,让初始化随着外循环变化。
		
		*/

		for (int x=0; x<5 ;x++ )
		{
			for (int y=0 ; y<=x ; y++ )
			{
				System.out.print("*");
			}
			System.out.println();
		}

		System.out.println("----------------------");

		/*
		
		1
		12
		123
		1234
		12345

		*/

		for (int x=1; x<=5; x++)
		{ 
			for (int y=1; y<=x;y++ )
			{
				System.out.print(y);
			}
			System.out.println();
		}

		System.out.println("----------------------");


		/*
		
		九九乘法表
		1*1=1
		1*2=2 2*2=4
		1*3=3 2*3=6 3*3=9

		
		*/

		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();
		}

	}
}



6,函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

java中的函数的定义格式:

    修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){

       执行语句;

       return 返回值;

    }

当函数没有具体的返回值时,返回的返回值类型用void关键字表示。

如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

return的作用:结束函数。结束功能。

 

如何定义一个函数?

    函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:

    1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。

    2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

函数的作用:

1)、用于定义功能。

2)、用于封装代码提高代码的复用性。

注意:函数中只能调用函数,不能定义函数。

主函数:

    1)、保证该类的独立运行。

    2)、因为它是程序的入口。

    3)、因为它在被jvm调用。

 

函数定义名称是为什么呢?

答:1)、为了对该功能进行标示,方便于调用。

    2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

 

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

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

如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。


 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值