黑马程序—java概念以及循环,函数小结

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

一,介绍Java

1、什么是Java

Java是面向对象程序语言,面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。java 技术具有卓越的通用性、高效性、跨平台性和安全性。

它是由java编程语言,jvmjava文件格式以及java应用程序接口组成的。

2、java的技术架构

(1)javaEE主要可简化且规范应用系统的开发

(2)JavaSE:主要用于桌面应用软件的编程

(3)JavaME:要应用于嵌入式系统开发,如手机和PDA的编程

 

3、java 基础组成

关键字、标识符、注释、常量、变量、运算符、语句、函数、数组

接口类名命名规则:所有单词首字母都大写

变量与函数名命名规则:第一个单词的首字母要小写,第二个开始的单词首字母大写

常量名命名规则:所有字母都大写

注释:j注释用多行注释的时候里面不能嵌套多行注释,不过可以嵌套单行注释。

 

4、数据类型

Java的数据类型可以分为基本数据类型和引用数据类型。其中基本数据类型里面包括数值类型(byte,,short,int,long,float,double)、字符类型(char)和布尔值类型(falsetrue)。

引用数据类型包括类,接口以及数组。

二、java变量

1、定义变量:变量类型 变量名=初始化值,也可以不定义初始化值

2、变量也就是存储不确定数据,需要在内存中开辟空间进行存储。

3、类型转换

short s=6;

s=s+5;这个 是会编译失败的,因为s+5的时候会把s类型提升为int然后与5相加得到的一个int值再赋给short 型的s时候会损失精度。

s+=5;这个是正确的。这个是把左右两边的和赋给左边的s,这边会自动装换类型。

三、Java 运算

1、与运算

&&&的区别。

&不管左边的表达式的值是不是true都会运算右边的表达式

&&只要左边的表达式为false,右边的表达式是不会运算的。

2、位运算

>>> 无符号右移,高位都以0补位

>>最高位为0时候,右移后高位以0补位,最高位为1的时候右移后高位以1补位

3、异或

一个数异或两次得到的数还是它本身。

四、判断语句

1、if 判断语句

2、switch 判断语句

   当判断的数据不多且符合short intbytechar类型的时候建议使用switch判断语句

这样能提高代码效率。不过当出现区间判断,对结果为boolean的判断,建议使用if

五、循环结构

(1)while结构:判断条件,当条件满足的时候执行循环体

(2)do...while结构:先执行循环体,然后再判断条件。。所以这个结构循环都至少执行一次。

(3)for(初始化表达式:条件表达式:循环后的表达式)

for语句中定义的变量只在for语句中有效,for语句执行完,内存就释放该变量资源

for 循环中的条件表达式一定要是boolean型的,不然编译会失败。

 

(4)breakcontinue

break是直接跳出该循环,continue是继续执行执行循环。当他们单独存在的时候下面不可以有任何的语句,因为执行不到。

下面通过是一些循环的运用例子:

public class forDemo2 
{
	public static void main(String[] args)
	{
		//sum_method();
		//getMethod();
		//print();
		print_99(5);
		 //break_method();
		continue_method();
	}
	public static void forDem()
	{
		int x=1;
		for(System.out.println("a");x<3;System.out.println("c"))
		{
			System.out.println("d");
			x++;
		}
	}
	public static void sum_method()//求10以内的和
	{
		int sum=0;
		int x=0;
		/*for(int x=1;x<=10;x++)
		{
			sum+=x;
			
		}
		System.out.println("sum="+sum);*/
		while(x<=10)
		{
			sum+=x;
			x++;
		}
		System.out.println("sum="+sum);
	}
	//求100内7的倍数的个数
	public static void getMethod()
	{
		int count=0;
		for(int x=1;x<100;x++)
		{
			if(x%7==0)
			{
				System.out.println("x="+x);
				
				count++;
			}
			
		}
		System.out.println("count="+count);
	}
	public static void print()
	{
		for(int x=0;x<5;x++)//控制行数
		{
			for(int y=0;y<5-x;y++)//控制列数
			{
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println();
		for(int x=0;x<5;x++)
		{
			for(int y=0;y<=x;y++)//控制列数
			
				{
					System.out.print("*");
				}
				System.out.println();
		}
	}
	public static void print_99(int num)//打印99乘法表
	{
		for(int x=1;x<=num;x++)
		{
			for(int y=1;y<=x;y++)
			{
				System.out.print(y+"*"+x+"="+x*y+"\t");
			}
			System.out.println();
		}
	}
	public static void break_method()
	{
		w:for(int x=0;x<4;x++)
		{
			q:for(int y=0;y<4;y++)
			{
				System.out.println(x);
				System.out.println(y);
				break w;//标号只能用在循环中,没用到标号,默认跳出的是内循环
			}
			
		}
	}
	public static void continue_method()
	{
		for(int x=0;x<4;x++)
		{
			if(x%2==1)
				continue;//结束本次循环继续下次循环
			System.out.println("x="+x);
		}
	}
	
  }

五、函数的定义

定义函数可以对功能进行封装,提高代码的复用性。函数之间只能互相调用,不能嵌套,也就是在一个方法中定义另外一个函数。

1、首先要明确返回值类型

2、明确要定义该功能的时候是否有未知类型,然后看情况定义参数列表

3、如果函数没有返回值的话用标识符void来 标识,当函数的返回值 为void的时候函数的return语句可以省略不写。

定义函数的格式:

修饰符  返回值类型 函数名(参数类型 参数1,参数类型 参数2)当然这边参数的个数不一定。可以没有参数,也可以有多个参数。

下面就是一个求得一个数组中最大值的方法

public class getMax {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		int[] arr={1,10,6,3,8,9};
		int max=getMax_method(arr);
		System.out.println("max="+max);
		
	}
	public static int getMax_method(int[] arr)//传入一个数组参数
	{
		int max=arr[0];
		for(int x=0;x<arr.length;x++)
		{
			
			if(arr[x]>max)
				
			{
				max=arr[x];
			}
		}
		return max;//返回最大值

二、重载

同一个类中可以存在一个以上的同名方法,只要他们的的参数类型不一样,那么这就是重载。重载与返回值类型无关。所以同一个类中不能存在两个同名的参数类型一致的函数。

比如:下面一个方法

  public void method(int x){}
  public void method(int x,int y){}//这个就是重载
  public int method(int x){}//这个就不是重载



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

 ----------------------详细请查看:http://edu.csdn.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值