初识Java

一、Java

1、编写程序的工具就是计算机语言,Java就是多种语言中的一种。

二、Java变量及数据类型

2.1变量

变量:一个数据存储空间的表示。

变量名:首字母+其他位置

首字母:字母,下划线,¥,$(字、下、美、人)

其他位置:字母、数字、下划线、¥,$(字、下、美、人、数)
注意:不能使用关键字

2.2数据类型

数据类型
取值范围
整型
Byte<short<int<long
Long:长整型其后加(L或l):12345678L/12345678l

浮点型
Double 小数点后15~16位 双精度浮点型
Float 小数点后7~8位 单精度浮点型
Float<double
Float:需要在后面加f:23.5f

2.3运算符

1、算数运算符:
+、-、*

/:取商(5/2=2)、%:取余(5%2=1)
++:自加1。++在前,先自加再使用;++在后,先使用再自加。
--:自减1。--在前,先自减再使用;--在后,先使用再自减。

2、复合计算符,先计算再赋值。
+=、-=、*=、/=、%=、

d=7;
d/=4;
system,out.print(d);
输出1(7/4)

3、逻辑运算符
&& 与:
|| 或:
! 非:

如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了;
优先级别 ! > && > ||

4、关系运算符

== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

5、三目运算符
三目运算符

int min;
min = 5 < 7 ? 5 : 7;
System.out.println(min);    5
min = 10 < 7 ? 10 : 7;
System.out.println(min);    7

6、运算顺序

单目运算符  !   ++  --,优先级别高
优先级别最低的是赋值运算符
可以通过()控制表达式的运算顺序,()优先级最高
从右向左结合性的只有赋值运算符、三目运算符和单目运算符
算术运算符 > 关系运算符 > 逻辑运算符>赋值运算符

三、选择结构

3.1 、if判定

语法

 if(条件1) {
      if(条件2) {
              代码块1
      } else {
              代码块2
      }
} else {
      代码块3
}

例子

import java.util.Scanner;
public class chengji {
	public static void main(String[] ages){
		Scanner input=new Scanner(System.in);
		System.out.print("输入学生成绩");
		int cj=input.nextInt();
		if(cj>=80){
			System.out.println("良好");
		}
		else if(cj>=60){
			System.out.println("中等");
		}
		else {
			System.out.println("差");
		}
	}
}

哪个条件满足执行哪条语句。

3.2 、switch选择

语法

switch (表达式) {
      case 常量 1:
		语句;
		break;
      case 常量 2:
		语句;
		break;
	…
	default:
		语句;
}

例子

import java.util.Scanner;
public class ss {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.print("输入0~10其中的号码");
		
		 int mingCheng = input.nextInt();
		 switch (mingCheng){
			    case 1:
		                System.out.println("参加麻省理工大学组织的1个月夏令营");    
		                break;
		        case 2:
		                System.out.println("奖励惠普笔记本电脑一部");       
		                break;
		        case 3:
		                System.out.println("奖励移动硬盘一个");      
		                break;
		        case 4:
	                System.out.println("参加山东理工大学组织的2个月夏令营");    
	                	break;
		        case 5:
	                System.out.println("奖励联想拯救者电脑一部");       
	                	break;
		        case 6:
	                System.out.println("奖励女朋友一个");   
	                       break;
		        default:
		            System.out.println("不好意思,没有任何奖励 ");
		                break;
		 }
	}
}


Switch 表达式中可以填int、short、byte、char、枚举类型、String

每个case后不要忘记写break;Case后的常量值不能相同;default块顺序可以变动,但要注意其执行顺序;通常,default块放在末尾,也可以省略。

3.3 、switch与if的区别

相同点:
· 都是用来处理多分支条件的结构

不同点:
· switch选择结构只能处理等值条件判断的情况

· 多重if选择结构没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

四、循环结构

4.1 、while

语法

while ( 循环条件 ) {
       循环操作
}

特点:先判断,再执行

例子

int i = 1;
while (  i  <= 100  ) {	       
      System.out.println("第" +i+ "遍写:
                 好好学习,天天向上!");
      i ++;
}

4.2 、do-while

语法

do {
	循环操作
} while ( 循环条件 );

特点:先执行,再判断

例子

int i = 1;
do {	       
      System.out.println("第" +i+ "遍写:
                 好好学习,天天向上!");
      i ++;
}while (  i  <= 100  )

4.3 、for

语法

for (   参数初始化; 条件判断;  更新循环变量) {
               循环操作
}    

例子

for (   int i = 0 ;    i  < 100 ;     i++  ) {
         System.out.println("好好学习!");
}    

4.4 、foreach

语法

 For(元素类型int    元素变量n : 遍历对象a){
      输出语句;
 }

例子

for (int n : a) {
			System.out.print(n+"  ");
}

4.5 、区别

区别1:语法	
区别2:执行顺序 
           while 循环:先判断,再执行
           do-while循环:先执行,再判断
           for循环:先判断,再执行
区别3:适用情况
           循环次数确定的情况,通常选用for循环
           循环次数不确定的情况,通常选用while或do-while循环
           foreach适用于遍历不确定数量的对象,后续会学习到。

五、多重循环

5.1 、循环语法

while(循环条件1){                                 //外循环
     //循环操作1
     while(循环条件2){                            //内循环
          //循环操作2
     }
}
*****************************************************************************
while(循环条件1){
      //循环操作1
      for(循环条件2){
   	        //循环操作2
	  }
}

注意
1、各循环可互相嵌套;
2、一般不超过三层;
3、外层循环变量变化一次,内层循环变量要变化一遍。

例子

public class Test4 {
	/**
	 * 九九乘法表
	 */
	public static void main(String[] args) {
		for (int i = 1; i <=9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println();
		}
	}
}

5.2 、跳出循环break和continue

while(…) {
     ……
     ……
     continue;               //只能用在循环里,跳过循环体中剩余的语句而执行下一次循环。
     ……
     ……
}
*****************************************************************************
while(…) {
     ……
     ……
    break;               //只能用在循环里,结束循环并跳出。
     ……
     ……
}

使用场合
break常用于switch结构和循环结构中
continue一般用于循环结构中

作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句
continue跳出本次循环,进入下一次循环
双重循环亦如此

六、数组

6.1 、数组定义

数组是一个变量,存储相同数据类型的一组数据。

数组基本要素
标识符
数组元素
元素下标:从0开始
元素类型

6.2 、数组使用

数组四步走

1.声明数组

2.分配空间

3.赋值

4.处理数据

数据类型【】 数据名=new   数据类型【大小】;           //声明长度,大小
数据类型【】 数据名={a,b,c,d,e,f};                //边声明边赋值

常见错误:
1、没有写明数组大小;
2、数组越界,数量超出;
3、创建数组并赋值的方式必须在一条语句中完成。

最大最小值:
通过循环比对,达到目的跳出并输出;

public static void main(String[] args) {
		int[] a={1,2,3,4,5,6,7,8,9};
		int b=0;		
		for (int i = 0; i < a.length; i++) {
			if (b<a[i]) {
				b=a[i];               //求最大值
				continue;
			}
		}
		System.out.print(b);
	}

数组插入数值(前提是数组是有序数组):

public static void main(String[] args) {
		int[] scores = {99,85,82,63, 60,0};
		Scanner input = new Scanner(System.in);
		System.out.println("请输入要插入的数");
		int num =input.nextInt();
		//找需要插入数据的位置
		int index=0;
		for (int i = 0; i < scores.length; i++) {
			if(num>scores[i]){//确定第一次满足时的下标
				index=i;
				break;
			}
		}
		System.out.println("可以将数据插入的位置是"+index);
		//移位
		for (int i =scores.length-1; i>index; i--) {
			//进行后移
			scores[i]=scores[i-1];
		}
		System.out.println("移位完成");
		//给找到的位置进行赋值
		scores[index]=num;	
		//查看数组所有元素
		for (int a : scores) {
			System.out.print(a +"  ");
		}
	}

由于数组存在下标,所以增加,删除较复杂;
查询,修改方便。

6.3 、数组排序

public static void main(String[] args) {
		int[] scores = {99,85,82,63, 60,0};
		Arrays.sort(scores);    
		        //Arrays:java.util包提供的工具类,sort()方法: 对数组进行升序排列
		for (int a : scores) {
			System.out.print(a +"  ");
		}
}

冒泡排序速记口诀(升序)
N 个数字来排队
两两相比小靠前
外层循环 N-1
内层循环 N-1-I

public static void main(String[] args) {
		int[] scores = { 44, 56, 22, 77, 12, 7 };
		// 排序
		// Arrays.sort(scores);     //升序
		// 冒泡
		for (int i = 0; i < scores.length - 1; i++) {
			for (int j = 0; j < scores.length - 1 - i; j++) {
				if (scores[j] > scores[j + 1]) {      //升序
					int temp = scores[j];
					scores[j] = scores[j + 1];
					scores[j + 1] = temp;
				}
			}
		}
		for (int score : scores) {
			System.out.print(score + "\t");
		}
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值