JAVA学习笔记

Day1–输入,变量,赋值,基本类型

package 学习1;

import java.util.Scanner;

public class 学习hello {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		System.out.println("卢向阳");//输出
		Scanner in = new Scanner(System.in);//输入,in打下划线的意思是in在用完后没有释放,在程序结束时加上in.close()就可以完美解决问题
		int a,b;
		a=in.nextInt();
		b=in.nextInt();//输入int型数赋值给变量a
		System.out.println(a+b);//数字不用双引号
	}

}

解释:

  1. Scanner in = new Scanner(System.in);敲上这句话之后,上面会多一行:import java.util.Scanner;
  2. Scanner in = new Scanner(System.in);中的in会打下划线的原因是:in在用完后没有释放,在程序结束时加上in.close()就可以完美解决问题
  3. System.out.println(a);如果a是数字,不用双引号;
  4. a=in.nextInt();输入整数赋值给a;
  5. in.nextLine();输入一行;
  6. 错误警告:Exception in thread "main" java.util.InputMismatchException;表示输入类型不匹配
final int a=1;
a=2;//错误

解释:

  1. 会有错误,因为final类型是一个常量,不能改变,即:不能再被赋值
System.out.println("嘻嘻嘻嘻嘻");
System.out.print("xxxxxxxx");

解释:

  1. System.out.println(" ");有ln表示输出之后换行;
  2. System.out.print(" ");没有ln表示输出之后不换行;

基本类型
boolean 布尔
byte 字节
short/int/long 短整数/整数/长整数
float/double 浮点数
char 字符
string 定义字符串
例:string b = “abcd”;

定义long类型最好在结尾加上L,就不会报错

例:long num=2147483650L

定义float类型必须加f,double类型可以加d也可以不加

Day2–浮点数计算,运算的优先级,类型转换

2.1 浮点数运算

System.out.println(10/3);

输出:3
解释:

  1. 整数除整数结果只能是整数
  2. 10和10.0是两个完全不同的数
  3. 上句中要想的到想要的结果,把10和3任意一个改为浮点数就可以,即:当浮点数和整数一块运算时,java会把整数转换成浮点数来运算
  4. double a;定义浮点数;给a输入赋值:a=in.nextInt();或者a=in.nextDouble();都可以

2.2 运算的优先级

在这里插入图片描述
移位运算符 >>,<<

“>>”:右移,除2
“<<”:左移,乘2

2.3 强制类型转换

java会自动将int转为double,但要把double转为int就需要强制类型转换;
格式:(int)(表达式)
例:System.out.println((int)((a+b/12.0)*0.3048*100));

Day 3-判断,循环

3.1 优先级:

  1. 所有的关系运算符的优先级比算数运算符的优先级低,但比赋值运算符的高
  2. ==和!=的优先级比其他的低
    2.1.例如 :5>3 ==6>4 先算两个大于,在判断等于

3.2 浮点数比较

double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(Math.abs(a-b)<1e-6);

1e-6表示1X10^-6;

3.3 判断

  1. 调试:

设置断点----> debug(小虫子)------>F5(单步进行)------->右上角java返回代码界面

  1. if语句
		int a=in.nextInt();
		int b=in.nextInt();
		int c=in.nextInt();
		if(a>b)
		{
			if(a>c)
			System.out.println("a is max");
			else
			System.out.println("c is max");
		}
		else 
		{
			if(b>c)
				System.out.println("b is max");
			else
				System.out.println("c is max");
		}

注:if()……else if()……else

if后面不能打“;”,否则,程序认为if后面执行一句空语句;

  1. switch–case多分支语句
int a;
		a=in.nextInt();
		switch(a)//a只能是整型或者整型表达式
		{
			case 1:
				System.out.println("1");
				break;
			case 2:
				System.out.println("2");
				break;
			case 3:
				System.out.println("3");
				break;
			case 4:
				System.out.println("4");
				break;
			case 5:
				System.out.println("5");
				break;
			default:
				System.out.println("YES");//上述任何一种情况都不匹配,执行此句;
		}

switch()里面只能是整型的表达式,当所有case都不瞒足时,执行default后面的语句,切记:break不能忘了。

3.4 while()循环

  1. while循环
Scanner in =new Scanner(System.in);
		int m;
		while(true)
		{
			System.out.print("请投币:");
			m=in.nextInt();
			if (m>=10)
			{
				System.out.println("*****************");
				System.out.println("*  Java城际铁路专线  *");
				System.out.println("*  无指定座位票价    *");
				System.out.println("*  票件:10元        *");
				System.out.println("*****************");
				System.out.println("找零:"+(m-10));
			}
			else
			{
				
				System.out.println("金额不够");
				System.out.println("退款:"+m);
				break;
			}
			
		}

注:

while()里面也可以是判断式子:例如:while(a>=0){ }
do-while循环中while()后面有个分号。

3.5 猜数字(随机数)

	Scanner in = new Scanner(System.in);
		int a=(int)(Math.random()*100+1);//random函数给出随机数:[0,1)--->[1,100]
		System.out.print("请输入您猜的数字:");
		int b;
		b=in.nextInt();
		while(a!=b)
		{
			if(b>a)
			{
				System.out.println("您猜的数字大了!");
				System.out.println("请重新猜!");
				System.out.print("请输入您猜的数字:");
				b=in.nextInt();
			}
			else
			{
				System.out.println("您猜的数字小了!");
				System.out.println("请重新猜!");
				System.out.print("请输入您猜的数字:");
				b=in.nextInt();
			}
		}
		System.out.println("恭喜你猜对了!");
	

int a=Math.random();产生[1,0)之间的浮点数
int a=(int)(Math.random()*100+1);产生[1,100]之间的整数

3.6 for(; ;)循环

求阶乘

Scanner in = new Scanner(System.in);
		int a=in.nextInt();
		int sum=1;
		int i;
		for(i=1;i<=a;i++)
		{
			sum=sum*i;
		}
		System.out.println(sum);

boolean p=true;布尔类型

continue 跳出本次循环,继续下次循环
break 跳出循环

Day 4–数组

4.1 一维数组

创建数组
格式: <类型>[] <名字> = new <类型>[数组大小]
例:

int[] a=new int[100]; double[] b=new double[100];

错误警告—>数组越界: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 at 学习5.学习5.main(学习5.java:11)

int[] a=new int[100];
		int i;
		for(i=0;i<10;i++)
		{
			a[i]=in.nextInt();
		}
		int sum=0;
		for(i=0;i<a.length;i++)
		{
			sum=sum+a[i];
		}
		System.out.println(sum);
		System.out.println((double)(sum/10.0));

注:

a.length表明当前数组的元素个数
new创建的数组会得到默认的0值
也可以不用new来创建,int[] a= {1,2,3,4,};这样也可以

4.2 java数组变量

int[] a1= {1,2,3,4,5};
int[] a2=a1;
int i;
for(i=0;i<a2.length;i++)
{
	a2[i]++;
}
for(i=0;i<a1.length;i++)
{
	System.out.println(a1[i]);
}

在这里插入图片描述

数组变量是数组的管理者而非数组本身,数组必须创建出来然后交给数组变量来管理,数值变量之间的赋值是管理权限的赋予:int[] a2=a1;
java数组变量名就像一个管理者,int[] a2=a1;可以理解为:让a1和a2管理同一块数组。

4.3 二维数组

int[][] a=new int[3][5];三行无列的二维数组

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值