java语言语法基础

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

关键字

标识符

 
 注释


常量与变量

进制的转换

十进制转八或十六进制:先转成二进制再转成其他进制。

变量

java数据类型分类

 数据类型转换

自动类型转换:

byte b = 2;
int a=3;

a=b+a;//弱类型b遇到强类型a自动提升为int

强制类型转换:

 byte b = 3;

b= b+1;

上述语句中,变量b占一个八位,1作为int类型占四个八位,b+1会自动提升为int类型,当然不能赋给b变量,编译报错。

解决方案:强制类型转换。

b=(byte)(b+1);

"a"是字符类型,打印结果为a

"a"+1自动提升为int,结果为98

运算符

算术运算符

x结果为3000

打印结果为55

赋值运算符

区别:(面试题)

s+=2;有自动类型提升,是一次运算,编译成功

而s=s+2没有自动类型提升,是右边先运算再付给左边,编译失败

转义字符:通过\ 来转变后面字母或者符号的含义。
  \n:换行。
  \b:退格。相当于backspace。
  \r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
  \t:制表符。相当于tab键。

比较运算符

 

逻辑运算符

^ : 两边相同结果是false。
     两边不同结果是true。

 

位运算符

两整数值互换:

m=n^m;

n=n^m;//n^(n^m)

m=n^m;//m^(n^m)

 

三元运算符

c=(s)?a:b;

满足s条件等于a,否则b

程序流程控制

 

判断结构

 

选择结构

switch与if 区别:

如果判断的具体数值不多,而是符合byte short int char这四种类型。
  虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。

  其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

 

循环结构

whlie和for的区别:

见b段

break和continue

 

函数

 

函数的定义

 

函数的特点

 

函数的重载

 

数组

 

数组的定义

 

数组的内存结构

 

内存结构

 

数组操作常见问题

 

数组常见操作

数组遍历:

public static void printlnArray(int[] arr)
	{
		for(int x=0;x<arr.length;x++)
		{
			System.out.println(arr[x]);
		}
	}

 

获取最值:

初始值等于数组第一角标数字,依次和数组每一之比较大小。

public static int Max(int[] arr)
	{
		int max;
		int x=0;
		for(max=arr[x];x<arr.length;x++)
		{
		if(arr[x]>max)
			max=arr[x];
		}
		
		return max;
	}

数组元素位置置换:

public static void chenge(int[] arr,int x,int y)
	{
		int a=arr[x];
		arr[x]=arr[y];
		arr[y]=a;
	}

排序

 

选择排序

while版:

public static void selectbig(int[] arr)
	{
		int x=0;
		
		while(x<arr.length-1)
		{
			int y=x+1;
			while(y<arr.length)
			{
				if(arr[x]<arr[y])
					chenge(arr,x,y);
				y=y+1;
			}
			x=x+1;
		}
	}

for版:

public static void selectshort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
			for(int y=x+1;y<arr.length;y++)
			{
				if(arr[x]>arr[y])
					chenge(arr,x,y);
			}
	}

冒泡排序

for版:

嵌套循环内循环调用外循环变量容易出错,避免使用
public static void bubbleshort(int[] arr)
	{
		
		for(int y=0;y<arr.length-1;y++)
			for(int x=0;x<arr.length-1-y;x++)
			{
				if(arr[x]<arr[x+1])
					chenge(arr,x,x+1);
			}
	}

while循环版:

public static void bubblebig(int[] arr)
	{
		int x=0;
		int y=0;
		
		while(y<arr.length-1)
		{	
			x=0;
			while(x<arr.length-1-y)
			{
				if(arr[x]>arr[x+1])
					chenge(arr,x,x+1);
				x++;			
			}
			y++;	
		}
	}


 

 

 

多维数组

 

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

详情请查看:http://edu.csdn.net/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值