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

------- android培训java培训、期待与您交流! ----------

一、关键字


二、标识符:

什么是标识符?

由英文字母、数字、下划线和$组成的元素符号。其中不能以数字开头,不能是关键字或者保留字,字母区分大小写,命名时做到见名知意。

2. 字符:

由单引号’ ’括起来的字符,且单引号里只能有一个字符。

3. 字符串:

由双引号” ”括起来的字符,且双引号里的字符必须大于等于2个字符。

4. Java中各元素的书写格式规范:

包名:一律小写 。

类名和接口名:每个单词的首字母大写。

变量名和函数名:多单词时第一个单词小写,以后每个单词首字母大写。

常量:每个字母都大写。

 

5. Java中的常量包括:

整数常量、小数常量、字符常量、字符串常量、布尔型常量和NULL常量。

其中布尔型常量只有true和false两个值,NULL常量只有NULL一个值。

 

三、进制间的转换:

主要就是二进制来回转换,二进制就是只有0和1两个;其中八进制0开头,十六进制0x开头。

1.       十进制转二进制:

除二取余,直到为0,余数反转。

2.       二进制转十进制:

从末位开始计算2的次幂从0开始,以此类推,最后数值相加。

3.       二进制、十进制、十六进制转八进制:

先转换成二进制,然后按二进制位四个为一组转换即可,反之亦然。

4.       二进制、十进制、八进制转十六进制:

先转换成二进制,然后按二进制位三个为一组转换即可,位数不够的自动补零,反之亦然。

 

*负数的二进制转换是正数的二进制位取反然后+1。1的二进制位是0001

 

四、运算符与表达式

1. 变量:定义变量的实质就是向内存申请内存空间。

2. 强制类型转换:(小转大自动转换,大转小需强制转换,损失精度)

语法格式:(数据类型)表达式   例子:int i =(int)7.5;

3. 赋值运算符

         在Java中给变量赋值需要用到等号“=”,在Java中“=”不是等于,而是赋值。

         示例:

                   Int i = 5; //为变量i赋值为5

                   short  s = 2;

                   s = s+2; //编译不通过,因为s为短整型short,2默认的是int整型,运算之后为int型无法赋值给short型。

                   s+=2; //编译通过,因为在运算符+=赋值时自动进行了强制类型转换。

 

4.算数运算符:

          算数运算符包括:+       -       *       /        %(取余)     

5.  自增和自减运算符:      ++     --

++在前,先加后用;++在后,先用后加。

--在前,先加后用;--在后,先用后加。

6.  转义运算符:通过\改变后面字母符号的含义。

\n:换行

\r:回车

\b:退格  (相当于Backspace键)

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

7.   逻辑运算符

数值比较运算后只有true和false两个结果。

1)        & 与

只要两边的boolean表达式结果有一个是false,结果就为false;

只有两边的boolean表达式结果都为true,结果为true。

2)| 或

只要两边的boolean表达式结果有一个true,结果就为true;

只有两边的boolean表达式结果都为false,结果为false。

3)^ 异或

就是和|(或)有点不一样,不一样在于true^true=false。

4)&& 与与

只要两边的boolean表达式结果,有一个是false,结果就为false;

只有两边的boolean表达式结果都为true,结果为true。

需要注意的是,当左边为false时右边不运算。

5)|| 或或

只要两边的boolean表达式结果,有一个true,结果就为true;

只有两边的boolean表达式结果都为false,结果为false。

需要注意的是,当左边为true时右边不运算。

总结一句话:

&&与||和&、|的最大的区别就是,当左边表达式不满足条件时,右边不运算,提高效率。

8.      位运算符:  运算的是二进制位

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

>>(位右移):就是除以2的移动的位数次幂。

>>:最高位补什么由原有数据的最高位决定。

如最高位为0,则用0补空位;

如最高位为1,则用1补空位;

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

注意:

&、|、^都可以进行位运算,计算时换算成二进制位,然后把0看作false,1看作true计算即可。

9.   关系运算符

关系运算符包括:>       <       >=     <=     ==     !=

关系运算符的结果只有两个:true和false。

10.   三目运算符

三目运算符格式:(条件表达式)?表达式1:表达式2

         三目运算符的条件表示式只有两个结果:true和false,如果满足条件就执行表达式1,否则执行表达式2.

         三目表达式主要用于必须有结果的运算,是if语句的一种简化形式。

五、程序流程控制语句:

1. 判断结构:

if语句  三种格式:

       if(条件表达式)                  if(条件)                                                         if(条件)

     执行语句                                              执行语句                                                   执行语句

                                                          else if(条件)                                                  elseif(条件)

执行语句                                                    执行语句

                                                                                                                         else

                                                                                                                                      执行语句

if语句的第一种格式主要用于只有一种判断条件时,第二种主要用于一种判断两种执行结果的,第三种主要用于多重条件判断的。

if语句小练习

/*
	需求:输入一个整数判断是奇数还是偶数
*/
class IfDemo
{
	public static void main(String[] args) 
	{	
		//定义需要判断的数值
		int i = 5;
		//用if语句判断能否被2整除
		if(i%2=0)
			System.out.println("您输入的是偶数");
		else
			System.out.println("您输入的是奇数");
	}
}

2.  Switch语句          格式:

         switch(表达式)

{

         case1 取值1:

           执行语句;

           Break;

case 2 取值2:

           执行语句;

           Break;

case 3 取值3:

           执行语句;

           Break;

Default :

           Break;

}

switch语句示例:

/*
	需求:属于一个月份 判断属于哪个季节
	思路:一年有四个季节,分别为
			春季(3,4,5)夏季(6,7,8)秋季(9,10,11)冬季(12,1,2)
		
*/
class SwitchDemo 
{
	public static void main(String[] args) 
	{
		int x=2;
		//用switch判断季节
		switch(x)
		{
			case 3:
			case 4:
			case 5:
				System.out.println(x+"月是春季");
					break;
			case 6:
			case 7:
			case 8:
				System.out.println(x+"月是夏季");
					break;
			case 9:
			case 10:
			case 11:
				System.out.println(x+"月是秋季");
					break;
			case 12:
			case 1:
			case 2:
				System.out.println(x+"月是冬季");
					break;
			default:
				System.out.println(x+"月是不存在的季节");
		}
	}
}

switch语句特点:
    1)switch语句选择的类型只有四种:byte、short、int、char。
    2)case与default执行没有顺序,先执行第一个case,没有case符合执行default。
    3)结束switch语句只有两种情况:遇到break或者执行到语句结束。
    4)如果匹配的case或者default没有对应的break,程序会继续向下执行,直到遇到break或switch语句结尾。

if语句和switch语句作用类似

具体场景如何应用if和switch?

如果判断的具体数值不多,且符合byte、short、int、char四种类型。If和switch都可以使用,但建议使用switch,因为执行效率略高。

其他情况,对区间判断、对boolean判断使用if,if的应用范围更广。

 

3. 循环结构

1)for语句  格式:

for(初始化变量;循环条件表达式;循环后的表达式){执行语句}

需要注意的是:在for语句里定义的变量只在for语句中起作用,跳出循环后失效,这是因为变量有自己的作用域,此处为局部变量。

for语句执行的是表达式,只要是合法的表达式就行。

for循环一般用于已知次数的循环。

for嵌套循环:

     所谓的for嵌套循环就是for语句的执行语句里还包含一个for语句。

for嵌套循环小练习1:

/*
	需求:打印下列图形
		*****
		****
		***
		**
		*
	思路:  发现图形有很多行,每一个行有很多列。
		要使用嵌套循环。原理:形象说法:大圈套小圈。
		对于打印图形:外循环控制的行数,内循环控制的是每一行的列数,也就是一行中元素的个数。		
*/
class ForForDemo 
{
	public static void main(String[] args) 
	{
		//控制图形的行数
		for(int x = 5;x>=0;x-- )
		{
			控制图形每一行的列数
			for(int y=0;y<=x;y++)
			{
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
	}
}
for嵌套循环小练习2:
/*
	需求:打印如下九九乘法表
			1*1=1
			1*2=2 2*2=4
			1*3=3 2*3=6 3*3=9
	思路:我们可以把这个看作一个图形
			其中有变化的元素,有不变的元素,我们先把不变的元素忽视掉
			可以把它看成一个三角形
			行数是固定的九行
			列数随着行数的增加而加1
			利用大圈套小圈的原理
*/
class ForForDemo2 
{
	public static void main(String[] args) 
	{
		//控制图形的行数为9行
		for(int x=1;x<=9;x++)
		{
			//控制列数随着X变化
			for(int y=1;y<=x;y++)
				System.out.print(x+"*"+y+"="+x*y+"\t");
				//控制换行
				System.out.println("\n");
		}
	}
}

for嵌套循环总结:嵌套循环是外循环条件成立执行一次,内循环必须执行到条件不满足才结束。
a. 累加思想:
    原理:通过变量记录住每次变化的结果,通过循环的形式,进行累加动作。
b. 计数器思想:
    原理:通过一个变量记录住数据的状态变化,也许通过循环完成。
c. 大圈套小圈思想:
    原理:尖朝上改变条件。尖朝下改变初始值。

2)While语句  格式:

While(循环条件表达式)

      {执行语句}

需要注意的是: while语句主要用于不确定循环次数的循环,而且如条件不满足,可直接掠过不执行循环语句。

3)dowhile语句  格式:

do{执行语句}

while(循环条件表达式)

需要注意的是:do while语句不管满不满足循环体条件,都会先执行一次循环体内执行语句。

这里就不做程序展示了

4)break语句和continue语句

     break语句我们在switch语句中已经接触到,break的作用就是跳出循环体,主要应用于判断结构和循环结构。

     continue语句应用在循环中,不过continue语句的作用不是跳出循环体,而是跳出本次循环,然后从循环的起点继续判断循环条件,执行循环体。

 

------- android培训java培训、期待与您交流! ----------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值