java基础( 使用技巧 ,for while循环结构)

快捷键+小技巧

小技巧总结

单行注释:ctrl+/
多行注释:ctrl+shift +/
文档注释: /** */(手动输入)
shift+F10 运行程序
向下复制一行 或选中的多行 Ctrl + D

内容辅助键:
快速生成语句:
快速生成main()方法:psvm,回车;
快速生成输出语句:sout,回车;
内容辅助键:
Ctrl+Alt+space(内容提示,代码补全等)。
导包快捷键 :Alt+Enter

1.ctrl + Home:定位到一页代码的行头
2.ctrl + end :定位到一页代码的行末
3.home:定位到一行的行头
4.end:定位到一行的行末

del删除的是后面单词
shift+删除键删除一行
CTRL+删除键删除一个单词

ctrl+shift+enter,可以在本行的任意位置跳到下一行

hellowworld 基础

java特点:面向对象,健壮性,跨平台性。

package com.company;

public class Main {

    public static void main(String[] args) {
	    System.out.println("Hellow world");
//常量
	    //整数常量
        System.out.println(12);

        //小数常量
        System.out.println(12.23);

        //字符常量
        System.out.println('a');

        //布尔常量
        System.out.println(true);

//变量:在程序的执行过程中,其值可以在一定范围内发生改变
//要求:三部分 数据类型  变量名=初始值
        //变量
        int a = 10;
        System.out.println(a);

        long b = 1000000000000L;
        System.out.println(b);

        float c = 12.34F;
        System.out.println(c);

        char ch = 'a';
        System.out.println(ch);

        boolean bb = true;
        System.out.println(bb);
    }
}

变量注意:

  1. 整数默认int类型,定义long类型变量的时候,建议加L或l
  2. 浮点数默认double类型,定义float类型变量的时候,建议价F或f
  3. 变量未赋值,不能直接使用
  4. 变量只在他所属的范围内有效(只在他的大括号内,局部变量)

数据类型:
在这里插入图片描述

类型转换:

隐式转换:
byte,short,char-- int --float – double
强制转换(不建议):
目标类型变量名 = (目标类型)(被转换的数据)

package com.company;

public class Main {

    public static void main(String[] args) {
//类型转换
    //隐性转换
    int a = 10;
    byte b = 20;
        System.out.println(a+b);


    //强制转换(不建议)
    byte e = (byte)(a+b);
        System.out.println(e);
    }
}

三元运算符:
关系表达式? 表达式1:表达式2;

package com.company;

public class Main {

    public static void main(String[] args) {
    int a =10;
    int b =20;

    int c =(a>b)?a:b;
        System.out.println("c:"+c);
    }
}

Scanner 录入数据

package com.company;
//导入scanner
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

    //输出提示
        System.out.println("请输入一个整数:");

    //获取数据
        int i =sc.nextInt();

    //把获取的数据输出
        System.out.println("i:"+i);

    }
}

小例子:

package com.company;


import java.util.Scanner;

/**
 * 需求:键盘录入两个数据,获取两个数的最大值
 *
 * 分析:
 * 1.看到键盘录入,想三步:导包,常见键盘录入对象,获取数据
 * 2.用if语句进行判断
 */
public class Main {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //给出提示
        System.out.println("请输入第一个整数:");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int b = sc.nextInt();

        int max;
        if(a>b){
            max = a;
        } else{
            max = b;
        }
        System.out.println("较大的数为"+max);
    }
}


switch语句

package com.company;


import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入一个整数(1-7)");

        int day = sc.nextInt();

        switch (day){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期七");
                break;

        }
    }
}


for语句:

for(初始化语句;判断条件语句;控制条件语句){
循环语句}

package com.company;

public class Main {
    public static void main(String[] args) {

        //for语句
        for(int x=1; x<=5; x++)
        System.out.println("hellow world");
    }
}
package com.company;

/**
 * 需求:求1-100中的偶数和
 */
public class Main {
    public static void main(String[] args) {
    //定义求和变量,初始值为0
        int sum = 0 ;
        for(int x=1;x<=100;x++){
            //判断是否是偶数
            if(x%2 == 0){
                //是偶数就累加
                sum += x;
            }
        }
    //输出变量
        System.out.println("sum="+sum);
    }
}

while 循环

package com.company;

/**
 * 需求:求1-100求和
 */
public class Main {
    public static void main(String[] args) {
    int sum = 0;
    int x=1;

    while(x<=100){
        sum +=x;
        x++;
    }
        System.out.println("sum="+sum);
    }
}


三种循环体区别:

  1. do while 循环语句至少执行一次循环体
  2. for和while 循环语句要先进行条件的判断,然后看知否执行循环体语句。

for 与 while 循环的区别:
for循环结束后,初始化的变量就不能被使用了
while循环结束后,初始化的变量还可以被继续被使用

推荐使用的顺序:
for ---- while - ----- do…while

package com.company;

/**
 * do while  while  for 循环的区别
 */
public class Main {
    public static void main(String[] args) {

    //do...while 循环
    int x = 3;
    do {
        System.out.println("666");
        x++;
    }while(x<3);

    //while循环
    int a = 3;
    while(a<3){
        System.out.println("666");
        a++;
    }

    //for循环
    for(int c=1;c<3;c++){
        System.out.println("666");
    }
    }
}

break语句

package com.company;

/**
 * break语句
 * 用于结束离他最近的循环
 */
public class Main {
    public static void main(String[] args) {

    for(int x=1;x<=5;x++){
        if(x ==3 ){
            break;
        }
        System.out.println("hellow");
    }
    }
}

continue语句

package com.company;

/**
 * continue语句
 * 跳出这一次的操作,进入下一次操作
 */
public class Main {
    public static void main(String[] args) {

    for(int x=1;x<=5;x++){
        if(x ==3 ){
            continue;
        }
        System.out.println("hellow"+x);
    }
    }
}

random函数:用于产生随机数

package com.company;

import java.util.Random;

/**
 * Random用于产生随机数
 */
public class Main {
    public static void main(String[] args) {

    //创建对象
        Random r = new Random();

        for(int x=1; x<=10; x++){
            //获取随机数
            int number = r.nextInt(10);
            System.out.println("number"+number);
        }
    }
}

数组:

package com.company;
/**
 * 数组:存储 同一种数据类型 的多个元素的容器
 *
 * 定义:数据类型[]  数组名;
 * eg: int[] arr;
 *
 * 数组初始化:
 * 1. 动态初始化     只给出长度 有系统给出初始值
 * 2. 静态初始化     给出初始值,由系统决定长度
 *
 * 动态初始化:
 *      数据类型[] 数组名 = new 数据类型[数组长度]
 *      获取元素的格式: 数组名[索引]
 * 静态初始化:
 *      数据类型[] 数组名 = new 数据类型[] {元素1,元素2...}
 *      简化: 数据类型[] 数组名 = {元素1,元素2...}
 */
public class Main {
    public static void main(String[] args) {
        //数据类型[] 数组名 = new 数据类型[数组长度]
        int[] arr = new int[3];

            System.out.println("arr[0]:"+arr[0]);
            System.out.println("arr[1]:"+arr[1]);
            System.out.println("arr[2]:"+arr[2]);


		//数据类型[] 数组名 = {元素1,元素2...}
        int[] arr = {1,2,3};

        System.out.println("arr:"+arr);
        System.out.println("arr[0]:"+arr[0]);
    }
}
package com.company;


/**
 * 数组常见操作
 */
public class Main {
    public static void main(String[] args) {
        //数组遍历
        int[] arr = {1,2,3,4,5};

        for(int x=0; x<arr.length; x++){
            System.out.println(arr[x]);
        }
        //获取数组最大值
        int max = arr[0];
        for(int x=1; x<arr.length;x++){
            if(arr[x] > max){
                max = arr[x];
            }
        }
        System.out.println("max:"+max);
    }
}

package com.company;


import java.util.Scanner;

/**
 * 需求:评委打分
 */
public class Main {
    public static void main(String[] args) {
    //创建一个长度为6的数组
    int[] arr = new int[6];

    //键盘录入
    Scanner sc = new Scanner(System.in);
    for(int x=0; x<arr.length;x++){
        System.out.println("请输入第"+(x+1)+"个评委给出的分数");
        int score = sc.nextInt();
        arr[x] = score;
    }

    //获取数组的最大值
    int max = arr[0];
    for(int x=1;x<arr.length;x++){
        if(int[x]>max){
            max = arr[x];
        }
    }

    //获取数组的最小值
    int min = arr[0];
    for(int x=1;x<arr.length;x++){
        if(int[x]>min){
            min = arr[x];
        }
    }

    //求出总分
    int sum = 0;
    for(int x=0; x<arr.length; x++){
        sum += arr[x];
    }

    //平均分
    int avg = (sum - max - min)/(arr.length-2);

    //输出
        System.out.println(avg);
    }
}


package com.company;


import java.util.Scanner;

/**
 * 方法:完成特定功能的代码块
 *
 * 定义格式:
 *         修饰符 返回值类型 方法名(参数类型 参数名1,从参数类型 参数名2....)
 *         方法体;
 *         return 返回值;
 *
 */
public class Main {
    public static void main(String[] args) {

        //调用方法
        //方法参数(个数和类型)
        //返回了一个int值,所以用int 类型变量进行接收
        int result = sum(10,20);
        System.out.println("result:"+result);
    }
    public static int sum (int a,int b){
        int c = a+b;
        return c;
    }

}

package com.company;


import java.util.Scanner;

/**
 *  需求: 键盘输入两个数据,返回两个数中较大的值
 *
 *
 *  命名习惯:
 *  类:
 *      每个单词的首字母都大写
*
 *   方法:
 *      一个单词 都小写
 *      多个单词 第二个单词大写
 */
public class Main {
    public static void main(String[] args) {
    //键盘录入数据
    Scanner sc = new Scanner(System.in);

        System.out.println("请输入第一个数据");
        int a = sc.nextInt();
        System.out.println("请输入第二个数据");
        int b = sc.nextInt();

        //调用方法
        int max = getMax(a,b);
        System.out.println("max:"+max);
    }

    public static int getMax(int a, int b){
    if (a>b){
        return a;
    }else{
        return b;
    }
    }
}

方法重载:

在同一个类中,出现了方法名相同的情况

注意:在调用的时候,java虚拟机会根据方法名即参数的不同来区分方法

遍历

遍历数组:

package com.company;


import java.util.Scanner;

/**
 *  需求: 遍历数组
 */
public class Main {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        printArray(arr);
    }


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


import java.util.Scanner;

/**
 *  需求: 遍历数组  取得最大值
 */
public class Main {
    public static void main(String[] args) {
        int[] arr = {11,22,89,44,55};
        getMax(arr);
    }
    public static void getMax(int[] arr){
        int max = arr[0];
        for(int x=1;x<arr.length;x++){
            if(arr[x]>max){
                max = arr[x];
            }
        }
        System.out.println("max:"+max);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值