第2章Java编程基础

2.1Java的基本语法

2.1.1Java代码的基本格式

修饰符 class 类名{
程序代码
}

  1. 程序代码可以分为  结构定义语句(用于声明方法或类)  和   功能执行语句(用于实现具体功能,每条语句都用;结尾)
  2. java严格区分大小写
  3. 一段字符串不能写两行
  4. 格式良好

2.1.2java中的注释

  1. 单行注释      System.out.println("这是我的第一个java程序!");                   //单行注释
  2. 多行注释      /*     public static void main(String[] args){
                                  System.out.println("这是我的第一个java程序!");           //多行注释,多行注释可以嵌套  单行
                               } */
  3. 文档注释      /** public static void main(String[] args){
                               System.out.println("这是我的第一个java程序!");             //文档注释,可以用javadoc命令提取
                          } */

   

2.1.3java中的标识符 

标识符:定义一些符号来标记一些名称,包名,类名,方法名,参数名,变量名等

由任意顺序大小写字母,数字,下划线,美元符号组成    不能以数字开头,不能是java中的关键字

表识的规范:

  1. 包名——小写
  2. 类名、接口名——每个单词的首字母大写
  3. 常量名——每个单词都大写
  4. 方法名和变量名——第一个单词首字母小写,后面都大写
  5. 标识符要有意义

2.1.4java中的关键字

关键字:编程语言里事先定义好并且赋予了特殊含义的单词,也称为保留字

abstract 抽象      boolean 布尔       break中断       byte字节       case实例
catch抓住           char字符型           const恒量        class类        continue继续
default默认         do干                      double双        else除非        extends继承
false错误的         final最后的          finally最后地   float浮点       for因为
goto跳转             if如果                    implements实施   import进口     instanceof实例关系
int整数            interface接口           long长整型         native本地       new新建


2.1.5java中的常量

常量:程序中固定不变的值,是不能改变的数据。在java中,常量包括整型常量,浮点数常量,布尔常量,字符常量。

  1. 整型常量:是整数类型的数据,有二进制(前面要以0b或0B开头)八进制(必须0开头),十进制和十六进制(必须0X开头)4种表示形式。
  2. 浮点数常量
  3. 字符常量
  4. 字符串常量
  5. 布尔常量
  6. null常量

进制直接的转换

  1. 十进制转二进制
  2. 二进制转十进制
  3. 二进制转八进制
  4. 二进制转十六进制

2.2java中的变量

2.2.1变量的定义

2.2.2变量的数据类型

基本类型

byte字节型,占1个字节。

short短整型,占2个字节。

int整型,占4个字节。

long长整型,占8个字节。

float单精度浮点型,占4个字节。

double双精度浮点型,占8个字节。

char字符型,占2个字节。

boolean型,表示逻辑值,有true和false两个值,分别占1个字节。


 

引用类型

2.2.3变量的类型转换

  1. 自动类型转换:也叫隐式转换,两种数据类型在转换过程中不需要明式的进行声明。满足,两种数据类型彼此兼容目标类型的取值范围大于源类型。
  2. 强制类型转换:也叫显式转换,两种数据类型之间的转换需要进行显式地声明。可能:出现精度丢失。


2.2.4变量的作用域

定义:变量的作用范围称为变量的作用域。

2.3java中的运算符

2.3.1算术运算符

+

-

*

/

%      取余数

++     自增(前)

结论:++a   a先自加,再进行赋值运算。

++     自增(后) 

                             int a = 5;
			     int b = 0;
			     b = a++;
			     System.out.println("a="+a);
			     System.out.println("b="+b);

a=6

b=5

结论:a++    a先赋值给b,再进行自加运算。

- -      自减(前)

结论:- -a    a先自减,再进行赋值运算。

- -      自减(后)

结论:a- -    a先赋值给b,再进行自减运算。

2.3.2赋值运算符

=

+=

                             int a = 5;
			     int b = 3;
			     a += b ;// 等于 a = a+b
			     System.out.println("a="+a);
			     System.out.println("b="+b);
			     
			     //结果:a=8  b=3


-=

*=

/=

%=


2.3.3比较运算符

==

!=

>

<

>=

<=

2.3.4逻辑运算符

&      与

|       或

^      异或    两边条件相同,则为false

!       非

&&   短路与

||      短路或


2.3.5位运算符:针对二进制的每一位进行运算的符号,专门针对数字0和1进行操作的。

&      按位与

|        按位或

~       取反

^       按位异或

<<    左移:开口向哪边就往哪边补0 ,原来是正数补0,是负数补1

>>    右移

>>>  无符号右移:无符号的意思是,不管正数负数一律补0


2.3.6运算符的优先级

2.4选择结构语句

2.4.1 if条件语句:三种语法格式

1. if语句

2.if...else语句

3.if...else if...else语句

2.4.2 switch条件语句:常用的选择语句,表达式只能是byte,short,char,int

举个栗子:

			     int week = 3;
			     switch(week){
			     	case 1:
			     	System.out.println("星期一");    
			     	break; 
			     	case 2:
			     	System.out.println("星期二");    
			     	break; 
			     	case 3:
			     	System.out.println("星期三");    
			     	break; 
			     	case 4:
			     	System.out.println("星期四");    
			     	break; 
			     	case 5:
			     	System.out.println("星期五");    
			     	break; 
			     	case 6:
			     	System.out.println("星期六");    
			     	break; 
			     	case 7:
			     	System.out.println("星期日");    
			     	break; 
			     	
			     	default:
			     	System.out.println("输入数字不正确");    
			      break; 
			     	


2.5循环结构语句

2.5.1while循环语句


2.5.2do...while循环语句

2.5.3for循环语句

2.5.4循环嵌套

打印直角三角形

                             int j,k;
			     
			     for(j=1;j<=10;j++){
				     	for(k=1;k<=j;k++){
				     		 System.out.print("*");     
				     	} 
				     	 System.out.println("");     
			     }


2.5.5跳转语句(break,contiune)

1、break语句

在switch语句和循环语句中都可以使用break,目的是终止某个case,跳出switch结构。

在循环语句中,目的是跳出循环执行后面代码。

2、contiune语句

在循环语句中,目的是终止本次循环进入下一个循环。

2.6方法:提取出来的一段代码,解决代码重复臃肿问题。

2.6.1什么是方法

2.6.2方法的重载

              java允许在一个程序中定义多个名称相同的方法,但是参数的类型个数必须不同。

2.6.3方法的递归

在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入递归的状态,永远无法结束调用。

举个栗子:使用递归的方法计算自然数之和

class HelloWorld{
	      public static void main(String[] args){
			     
			     int sum = getSun(4);
			     System.out.println("sum="+sum);     
	
	     	} 	

	     	               //一个实现递归的方法
			       public static int getSun(int n){
			     	  if(n==1){   //设置跳出循环的条件	
			     	  	return 1;
			     	  }
			     	 
			     	  int temp = getSun(n-1);
			     	    
			     	  return temp+n;
			     	}  
	}
	


2.7数组

2.7.1数组的定义

int [ ] x = new int [ 100] ;

int [ ] x  创建一个x变量 ,占一块内存

new int [100] 创建一个数组,将数组地址  给 x变量。


数组在创建后 没被赋值之前,有默认值。

byte、short、int、long  默认值为0

float、double 默认值为0.0

char 默认值为一个空字符

boolean  :false

引用数据类型:null


动态初始化:定义数组时,指定数组长度,系统自动为元素赋初始值的方式。

静态初始化:定义数组的时候为数组的每个元素赋值了。

举个栗子: int [ ]  c1  =new int [ ] {1,2,3};

                     int [ ]  c2  = { 1,2,3};


2.7.2数组的常见操作

数组遍历:依次访问数组中的每一个元素

举个栗子

class HelloWorld{
	      public static void main(String[] args){
			      int[] arr = {1,3,5,7,9};  //静态初始化数组
			      
			      for(int i=0; i<arr.length;i++){
			          System.out.println("arr["+i+"]="+arr[i]);
			      }
			  } 	    
	}

数组最值

举个栗子

class HelloWorld{
	      public static void main(String[] args){
			      int[] arr = {1,3,11,7,9};  //静态初始化数组
			      
			      System.out.print("原数组:"); 
			      for(int i=0; i<arr.length;i++){
			          System.out.print("arr["+i+"]="+arr[i]+"  ");
			      }
			      System.out.println("");
			      
			      int temp=0; 
			      for(int i=0; i<arr.length;i++){
			          if(arr[i]>temp){
			             temp = arr[i];	
			          }
			      }
			       System.out.print("最值="+temp); 
			      
			      
			  } 	    
	}
	


数组排序:冒泡排序:不断比较数组中相邻两个元素,较小者上浮,较大者下沉,整个过程和水中气泡上升的原理相似。

class HelloWorld{
	      public static void main(String[] args){
			      int[] arr ={1,4,5,7,8,2,22};
			      System.out.print("冒泡排序前");
			      printArray(arr);
			      bubbleSort(arr);
			      System.out.print("冒泡排序后");
			      printArray(arr);
			  } 	
			  
			  
			  //定义一个打印数组的方法
			  public static void printArray(int[] arr){
			  	   //循环遍历数组的元素
				     for(int i=0; i<arr.length;i++){
				          System.out.println("arr["+i+"]="+arr[i]);
				      }
				     System.out.print("\n");
			  } 	
			  
			  
			  
			  //定义对数组排序的方法
			  public static void bubbleSort(int[]arr){
			        //定义外层循环
					  	for(int i=0;i<arr.length-1;i++){
							  	  for(int j=0;j<arr.length-i-1;j++){
								  	  	  if(arr[j]>arr[j+1]){
								  	  	  	 int temp =arr[j];
								  	  	  	 arr[j]=arr[j+1];
								  	  	  	 arr[j+1]=temp;
								  	  	 	}
							  	  }
							System.out.println("第"+(i+1)+"轮排序后");
							printArray(arr);
					  	}
					  	
					  	
			  } 
			  
			     
	}
	


2.7.3多维数组

第一种方式:int [ ] [ ] = new int[ 3 ][ 4 ];

定义一个3行4列的数组,意思是,一个二维数组的长度为3,每个二维数组中的元素又是一个长度为4的数组。

第二种方式:int [ ] [ ] = new int [3 ][  ];

定义一个3行的数组,但是每个数组中的元素个数不知道。

第三种方式: int[ ] [ ] arr= {{1、2}{3、4、5、6}{7、8、9}}

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值