java 语言基础,scanner,if ,switch,for ,数组,创建类和对象
针对以上四个模块内容具体说明:
1,Scanner
前面 插入 import java.util.Scanner;
后面 Scanner sc =new Scanner(System.in);
int d= sc.nextin();
比如:
Scanner sc =new Scanner(System.in); int b=sc.nextInt(); System.out.println("输入的价格:"+b); int c=sc.nextInt(); System.out.println("输入的价格是"+c); 2,if函数 ,判断 boolean如果为true 输出语句, 如果false 为不执行语句
switch case
(1)if 为1路分支
if (boolean){
}
(2)多路分支
if(){
}else if(){
}else {
}
(3) switch case 注意需要加break
switch (num){
case 1: 语句1
break;
case 2:语句2
break;
default: 输出其他
;
}
比如:switch (num){ case 1: System.out.println("向左走取钱"); break; case 2: System.out.println("向右走存钱"); break; case 3: System.out.println("向下走退出"); break; default: System.out.println("有问题"); }
(4)for while 循环 do while
(4.1 )for (int i=0;i<a.length;i++){
}
(4.2 )while(boolean){
语句块}
比如: //输出9的乘法表 int j=1; while (j<=9){ System.out.print(j+"*"+9+"="+9*j+"\t");//1*9=9 j++; }
(4.3) do {
} while ();
注意:先执行语句,在判断 ,至少执行一次
1.1数组的复制
int[ ] a=new int[3];
int[ ] b=new int {1,5,13};
注意new int后有默认值0。其次注意必须写数组长度3.
1.2排序:首先,当第一个max=a[ 0],然后后面元素比较。后面大的就重新赋值给max。另外循环
int max=a[0];
for(int i=0;i<a.length;i++){
if(max<a[i]){
max=a[i]
}
}
System.out.println(max);
1.2.1
数组的直接排序;
Arrarys.sort(a);
注意:这样就是直接升序,但是没有降序;如果需要降温,则把for循环倒过来写。
就是
for(int i=a.length-1;i>=0;i--){
System.out.println(a[i]);
}
1.3
任意数 0-100 整数 注意Math.random 前面需要有(int) 不包括100,如果想包括,则+1 ,101
int a=(int)( Math.random()*100);
1.3 如果想输出数组,则注意不能直接输出a[i]. 如果这样,只会输出一个地址 如0x12。
需要注意是遍历数组,for
如for (int i=0;i<a.length;i++){
System.out.println(a[i]);
}
1.4 定义方法和方法的调用
方法:就是封装一段业务功能的代码
可以多次调用
注意是在main {}外;
1.4.1
public static void sayHi(){
System.out.println( );
}
1.4.2
public static void say(){
System.out.println();
}
public static say (int a,int b){
int c=a+b;
return c;
}
调用
say();
sayHi();
say(5,3);
多个方法,有参数则必须要参数,无参数则不需参数
注意return 用法,用return 有返回值的,做结束方法和输出返回值
没有返回值的就是结束方法
第2部分开始:
ooday01
1,主要涉及面向对象编程,潜艇大战,创建class 和创建 对象
new 2个class 如 student ,studenttext
从student 定义int age,string name ,void sayhi(){ }
从studenttext main 中首先new 一个对象出来。
Student mm=new Student();
mm.age=12;
mm.name="feng";
sayhi();
2,方法的重载;方法(参数列表);
一个say方法,多个参数列表样式 注意是首先 创建class 后
主要main 的class 的首先new一个对象
如say();
say(name);
say(age);
如:
void show(){} void show(String name,int age){} void show(int age,String name){} void show(int age){} void show(String name){} //void show (String address ,int age){} //错误
Aoo c=new Aoo(); //注意必须new A00 c=new A00(); c.show(); c.show(25,"feng");
1,另外创建class ,多个对象,包括战舰,侦察艇,鱼雷艇,水雷,炸弹等
public bomb{
int width ;
int height;
int x;
int y
void move (){
System.out,println("移动)
}
}
。。。。。战舰,侦察艇,鱼雷艇 一样操作,不用变量,
最后创建world main 把 多个对象放在一起
首先是new 对象,把以上几个对象都new 出来,战舰1个,其他可以多个,
Battership b=new Battersip();
然后可以赋值
b.width=10;
b.height=20;
.......多个属性 x,y 坐标,速度speed
。。。。重复多个对象
ts1,ts2,b1,b2,m1.。。
然后可以print 出来,看看有没有问题
System.out.println(os4.width+","+os4.height+","+os4.x+","+os4.y+","+os4.speed);
易错题
(1)int a = 5; int d = ++a;
System.out.println(d+","+a);
这个后面的a是先+1,再赋值给b,所以两个都是6.
如果是a--,则是先赋值给b,然后a +=1, b 就是原来a的值,但是a呢就会+1。
(2)int i = 5; System.out.println(i++);
i++这里其实i是不变的,就是5。如果是++i,则需要变了,6.
(3)8个基础数据类型和它们的字节,自己没有笔记清楚, byte 为1个字节。
(4)逻辑运算符,关系运算符,这个!,!= 自己知识不够全面,忽视了细节,
(5)数组下标和索引,开始0. 长度length ,最后length-1
这里错的题目真的自己忽视了细节。也没有仔细审题
(6)/ ,%, 取整数和取余数,这个容易看错。自己不够细心。
java是一个强语言的。不容一字错,否则就是bug。