Java学习笔记(1)

Java学习笔记

1.1初识java

//类名:首字母大写
public class Main {
    //主函数,程序的入口main[主要的 主函数] 快捷方式main回车
    public static void main(String[] args) {
        //向控制台输入Hello world 快捷方式 sout 回车
        System.out.println("Hello world!");
    }
}
package bdqn;
//单行注释
/*
 *多行注释
 */
public class Test01 {
    /*
     主程序入口
     @param 主程序说明 args xx说明
     */
    public static void main(String[] args) {
        //带换行的输出语句
        System.out.println("带换行的输出语句1!");
        System.out.println("带换行的输出语句2!");
        //不带换行的输出语句
        //转义字符换行符:\n
        System.out.print("不带换行的输出语句1\n");
        System.out.print("不带换行的输出语句2\n");
        //转义字符制表符:\t
        System.out.println("姓名\t成绩\t");
    }
}

1.Java遵循驼峰式单词命名原则,单词组合中每个单词的第一个首字母大写 Eg:MyBook 、StudentInfo。

2.Java的代码必须写在花括号‘{}’里面 Eg:{ System.out.print(“不带换行的输出语句1\n”);}。

3.Java中一行只写一句代码,并必须以分号‘;’结尾。 4.Java中想运行必须有main函数,也就是一定要有主函数。

1.2JavaSE基础

package bdqn;

import java.util.Scanner;

/**
 * 通过scanner录入键盘信息
 */
public class Luru {
    public static void main(String[] args) {
        /**
         *   类库里面扫描类Scanner;
         *   Scanner input 创建对象的名字
         *      System.in系统输入(键盘输入)
         */
        Scanner input = new Scanner(System.in) ;
        //接受键盘录入的字符串,按回车表示录入完成
        String name = input.next();
        //提问:
        System.out.println("请问你叫什么名字?");
        //打印录入的内容
        System.out.println(name);
    }
}

1.2.1变量

变量:一个数据存储空间的表示,在计算机中存储空间即为内存,程序运行时是从内存中调用数据。

不同数据存入不同内存地址的空间,数据与数据之间是相互独立的。 基本类型的变量存在栈内存当中。

变量命名:不能使用关键字命名,如public private(关键字就是在Java语法中将某些单词作为特定的功能。);

可以使用字母、下划线、$、¥、数字(数字不能在第一位)并且遵循驼峰式命名法(第一个单词首字母小写,其余单词首字母大写)

package edu.bdqn.kg;
/**
 * 演示变量的创建
 */
public class Demo01 {
    //主函数 程序入口
    public static void main(String[] args) {
        //代码
        String name = "张睿博";//创建变量,存储某个学生的姓名。
        int a = 20;//字母
        int _a = 30;//下划线
        int $a =40;//美元符号
        int ¥a = 20;//人民币
        int in = 40;//遵循驼峰式命名,且第一个单词首字母必须小写,其余单词首字母大写
    }
}

1字节=8bit位byte(字节类型)boolean(布尔类型)true/false
2字节=16bit位short(短整类型)存放数值char(字符类型)字符(a b c 汉字‘1’ ‘2’ ‘3’)
4字节=32bit位int(整类型) 存放数值flat(浮点类型)存放数值(小数)
8字节=64bit位long (长整类型)存放数值double(双精度浮点*型)存放数值(小数)

变量的声明和使用:

1.声明变量,根据数值类型在内存申请储存空间。即:“数值类型 变量名;”

2.负值,将数据储存至对应的储存空间。即:“变量名 = 数值;”

注意:第一步和第二步可以合并。

3.使用变量,将数据取出使用。

package edu.bdqn.kg;

/**
 * 变量声明和负值
 * 声明:预定内存空间            语法格式    (变量类型   变量名;)
 * 赋值:给预定内存空间输入数据    语法格式    (变量名   =   值;)
 */
public class Demo02 {
    public static void main(String[] args) {
        int num1;//声明
        num1 = 10;//赋值
        //使用变量,通过变量名调用里面的数值,用在你需要的语句中。
        int num2 = 20;//声明和赋值一起使用
        int num3;
        num3 = num1 *   num2;//调用数据
        System.out.println(num3);
    }
}

注意:有多少数据就应有多少变量,若数据类型一样则需要调用一次数据类型,然后赋值是用逗号隔开,eg:int n1=1,n2=2,n3=3。

打印时用加号和双引号隔开连接否则会相加,eg:System.out.println(n1+“”+n2+“”+n3);

package edu.bdqn.kg;

public class Demo03 {
    public static void main(String[] args) {
        int n1  = 1;
        int n2 = 2;
        int n3 = 3;
        System.out.println(n1+""+n2+""+n3);
        int n4 = 1,n5 = 2 ,n6 = 3;//变量的连续调用;
        System.out.println(n4+""+n5+""+n6);
    }
}
package edu.bdqn.kg;

public class Demo04 {
    public static void main(String[] args) {
        //字符串类型为String,表示连接一串字符
        //加号亦可作为字符串连接符。
        String name = "典韦";
        String zhiye = "刺客";
        String jineng = "麒麟焦魔砍";
        System.out.println("姓名:"+name);
        System.out.println("职业:"+zhiye);
        System.out.println("技能:"+jineng);
    }
}

1.2.2常量

常量的特点:1,常量名全部大写,如果有多个单词组成使用下划线分割。 2,常量的定义在前面加上关键字final。

3,常量必须赋值,一旦赋值就不可以改变

package edu.bdqn.kg;

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        System.out.println("做个自我介绍");
        final double pi  = 3.14;//定义常量

    }
}

1.2.3 Scanner扫描类

Scanner扫描器类 jdk类库提供 需要引入它

创建和使用Scanner扫描器类分为3个步骤:1,声明变量接受扫描对象。

2,使用扫描器对象input接受键盘录入的内容,此时可以设置接受的类型是什么

格式为:input.next+字符类型+();eg:整型:input.nextInt();

package edu.bdqn.kg;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        System.out.println("姓名:");
        Scanner input = new Scanner(System.in);
        String name =input.next();//扫描器定义字符串类型
        System.out.println("年龄:");
        Scanner input1 = new Scanner(System.in);
        int age = input.nextInt();//扫描器定义整型
        System.out.println("成绩:");
        Scanner input2 = new Scanner(System.in);
        double score = input1.nextDouble();//扫描器定义小数
        System.out.println("是否录用:");
        String pso = input.next();
        System.out.println("姓名:"+name+""+"年龄:"+age+""+"成绩:"+score+""+"录用:"+pso);
    }
}

1.2.4自动类型转换(从短转长)

如果等号左边字符的类型长度大于右边字符的类型长度,结果会保持不变,反之,则改变。

package edu.bdqn.kg;
public class Demo06 {
    public static void main(String[] args) {
        double firstave = 83.29;
        double secondave;
        int n = 2;
        secondave =firstave+n;
        System.out.println(secondave);
    }
}

1.2.5强制类型转换(从长转短)

package edu.bdqn.kg;

public class Demo06 {
    public static void main(String[] args) {
        double firstave = 83.59;
        int secondave;
        int n = 2;
        //强制类型转换:按键---alt+回车
        secondave = (int) (firstave+n);
        System.out.println(secondave);
    }
}

1.2.6赋值运算符

package edu.bdqn.kg;

public class Demo08 {
    public static void main(String[] args) {
        //第一个变量。
        int a = 80;//等号表示赋值 a=80
        int b;//创建一个待赋值变量b
        b=a;//开始把a赋值给b
        System.out.println(b);//输出待赋值b的值
    }
}

注意:赋值运算符的顺序从右向左赋值,赋值运算符的优先级很低,如果一条语句中有多个运算符,赋值运算符最后执行。

两个变量值交换就是:首先设置一个空值c,其次把第一个值a赋给空值c,然后把第二个值b赋给第一个值a,接着把空值c赋给第二个值b 最后打印输出出来。

package edu.bdqn.kg;

public class LianXi01 {
    public static void main(String[] args) {
        int a=8;
        int b=9;
        int c;//设置空值c
        c=a;//将a的值赋给c
        a=b;//将b的值赋给a
        b=c;//将c的值赋给b
        System.out.println(a+" "+b);//输出a,b的值
    }
}

1.2.7简单运算符

package edu.bdqn.kg;

public class Demo09 {
    public static void main(String[] args) {
        //        +,-,*,/:简单运算符
        int a=10;
        int b=2;
        int c=4;
        System.out.println(a+b);//a和b相加
        System.out.println(a-b);//a和b相减
        System.out.println(a*b);//a和b相乘
        System.out.println(a/c);//a和b相除
        System.out.println(a%c);//a和c取余
    }
}

1.2.8复合运算符

package edu.bdqn.kg;

public class Demo10 {
    public static void main(String[] args) {
//        复合运算符:+=,-=,*=,/=(先运算再赋值给自己)
        int a=10;
        int result=20;
        //加法:+=
        result +=a;//相当于result=resul+a
        System.out.println(result);
        //减法:-=
        result -=a;//相当于result=result-a
        System.out.println(result);
        //乘法:*=
        result *=a;//相当于result=result*a
        System.out.println(result);
        //除法:/=
        result /=a;//相当于result=result/a
        System.out.println(result);
    }
}

1.2.9自增、自减运算符

package edu.bdqn.kg;

public class Demo11 {
    public static void main(String[] args) {
//        自增运算符:++      自减运算符:--
        int a = 1;
        int b = 1;
        a++;
        b--;
        System.out.println(a+" "+b);
    }
}

1,一般自增自减都单独放一行,不会对其他变量产生影响。

2,如果自增自减和其他运算符放在一行,自增自减运算符优先级高于其他运算符优先级

1.2.9.1自增、自减运算符(2)

package edu.bdqn.kg;

public class Demo12 {
    public static void main(String[] args) {
        int a = 2;
        int b = 2;
        int c;
//        c=a+b++;//++在后先运算c=a+b,再计算b++(--于此相同)
        c=a*++b;//++在前先运算++b,再计算c=a*b(--于此相同)
        System.out.println(a+""+b+""+c);
    }
}

1.2.10关系运算符(比较运算符)

**比较两个数大小关系,比较结果true/false,所以接受结果需要boolean类型的变量 **

符号有: == != < > >= <=

优先级排序: > < >= <= == !=

支持的数据类型:> < >= <= 这四个判断只支持数值类型的数据

1.2.10.1 关系运算符比较字符串

如何比较字符串是否相等?

eg:”abc“ “acb” “abc” 使用方法进行比较,对字符串进行比较 s1.equals(s3) 使用 ==进行比较,比较的是内存地址

1.2.11 逻辑运算符

逻辑运算符 && || !

逻辑与&&:运算符左右两边都为真,最终结果才为真。 逻辑或||:运算符左右两边都为假,最终结果才为假。 非 !:逻辑取反

特点:1.左右两边的值是boolean类型的值 true/false。

2.短路:如果在逻辑与的左边判断是假,右边不执行(短路与)。如果在逻辑或的左边判断是真,右边不执行(短路或)。

3.逻辑运算结果是boolean。

1.2.12条件运算符

package edu.bdqn.kg;

public class Demo16 {
    public static void main(String[] args) {
        /**
         * 条件 ? 表达式1 :  表达式2
         * 注意:
         * 1.条件表达式 结果必须是boolean
         * 2.条件为true 返回表达式1
         * 3.表达式false 返回表达式2
         */
         //判断一个数是否为偶数。
        int a=10;
        System.out.println(a%2==0?"是偶数":"是奇数");
    }
}

优先级:首先是小括号”()“,接着是”!“和自增”++“自减”–“运算符,然后是算数运算符”*,/,+,-“,接下来是关系运算符”<,>,<=,>=,==,!=“,紧接着是逻辑运算符”&&,||“,最后是赋值运算符”=“

1.3流程语句

1.3.1if–else语句(单分支流程)

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //张浩的成绩
        System.out.println("请输入您的成绩。");
        Scanner input = new Scanner(System.in);
        int Score= input.nextInt();
        //分支结构 需要将后面的代码使用花括号包起来,否则只对下一句产生效果
        if (Score>90) {
            //满足上述if后面的条件之后才会执行
            System.out.println("奖励他一部手机");
        }
        else {
            //不满足上述if后面的条件才会执行
            System.out.println("给他两个大嘴巴子");
        }
    }
}

if语句中的变量需要判断字符串时需要用“.equals()”包起来,(“.equals”返回值是布尔“boolean”类型)

package edu.bdqn.kg;

import java.util.Scanner;

public class Lianxi {
    public static void main(String[] args) {
        System.out.println("明天天气预报怎么样?");
        Scanner input = new Scanner(System.in);
        String weather= input.next();
        if (weather.equals("晴天")) {
            System.out.println("我们去郊游");
        }
        else {
            System.out.println("我们在教室内敲代码。");
        }
    }
}

1.3.1.1if–else语句(多分支流程)

注意:1.前面的分支条件,不能包含后面的分支条件。

package edu.bdqn.kg;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        System.out.println("请输入您的成绩");
        Scanner input = new Scanner(System.in);
        double score=input.nextDouble();
        //定义scanner扫描器
        if (score >=80) {
            System.out.println("良好");
        } else if (score >=70) {
            System.out.println("中等");
        } else if (score >=60) {
            System.out.println("及格");
        }else {
            System.out.println("去死");
        }
    }
}

1.3.2 switch-case语句(等值多分支流程)

特点:1.判断条件值,是具体的值而不是模糊的区间范围。 2.其他和区间值多分支结构类似。

注意:1.switch(表达式),表达式的变量类型:int String char,不可以放:boolean float double

2.表达式的类型需要和case常量类型一致。 3.default为默认情况可以放在任意位置,但是一般情况下放最后,亦可省略。

4.每一个case完成需要有break,但是break不是必须要加,如果不加会执行下一个case分支

package edu.bdqn.kg;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        System.out.println("你是第几名");
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        switch (n){
            case 1:
                System.out.println("优秀");
                break;
            case 2:
                System.out.println("良好");
                break;
            case 3:
                System.out.println("合格");
                break;
            default:
                System.out.println("差");
                break;
        }
    }
}

1.3.3嵌套if语句

package edu.bdqn.kg;

import java.util.Scanner;

public class Demo06 {
    public static void main(String[] args) {
        /**
         * 嵌套if结构,判断第一个if的条件才会进行下面的判断。
         */
        System.out.println("您跑步的成绩为");
        Scanner scanner = new Scanner(System.in);
        double second=scanner.nextDouble();
        if (second <10 ) {
            System.out.println("恭喜您,进入决赛。请输入你的性别");
            String sex= scanner.next();
            if (sex.equals("男")) {
                System.out.println("欢迎进入男子组");
            }else if (sex.equals("女")) {
                System.out.println("欢迎进入女子组");
            }
        }else {
            System.out.println("很遗憾您被淘汰了。");
        }
    }
}

1.4循环

循环的特点:1.重复 2.相同或类似的操作

1.4.1while循环

while:在条件上面坐文章 条件是变值,并且操作步骤会改变条件情况,如果不想出现无限循环需输入循环终止条件。

package edu.bdkn.kg;

public class Demo01 {
    public static void main(String[] args) {
        int i =1;
        while (i<=9/*循环条件*/){
            i++;
            System.out.println("xx是傻子!!!!");//循环体
        }
    }
}

1.4.2do_while循环

do_while循环至少需要执行一次

package edu.bdkn.kg;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        System.out.println("请输入你的考号:");
        Scanner scanner = new Scanner(System.in);
        double score = scanner.nextDouble();
        do{
            System.out.println("拿到实验,编写程序");
            System.out.println("老师打分");
            double score1=scanner.nextDouble();
            if (score1>60) {
                score=score1;
                System.out.println("考试通过。");
            }else if (score1<=60){
                score=score1;
                System.out.println("重新考试");
            }
        }while (score<=60/*循环限定条件*/);//判断结果是不是符合循还条件,如果符合则会进入小学换
    }
}

1.4.3for循环

package edu.bdkn.kg;

public class Demo05 {
    public static void main(String[] args) {
        /**
         * for循环执行流程:
         * 1.执行括号的第一条语句,该语句作为初始化操作。
         * 2.执行括号第二条语句,作为循环判断条件,如果判断失败不进入循环体。
         * 3.条件判断成功,进入循环体{},执行循环体{}里面的语句。
         * 4.执行括号第三条语句,作为改变循环条件。接着重复上述2-3-4步骤,直到不满足2的条件结束循环。
         * 注意:在循环体内遇到continue或break关键字,特殊处理
         */
        for (int i=1;i<=1000;i++){
            if (i%5==0){
                System.out.println("能被5整除的数:"+i);
            }
        }
    }
}

1.4.3.1for循环(嵌入continue)

package edu.bdkn.kg;

public class Demo06 {
    public static void main(String[] args) {
        for (int i=1;i<=10;i++){
            if (i%2!=0){
                continue;//跳过if语句中的限定条件
            }
            System.out.println("1-10中的偶数有:"+i);
        }
    }
}

1.4.3.1for循环(嵌入break)

break语句只是跳出了本循环不影响其他循环

package edu.bdkn.kg;

public class Demo08 {
    public static void main(String[] args) {
        for (int i = 0; i <=10; i++) {
            if (i==8) {
                System.out.println("骨折,退出比赛");
                break;//跳出  在循环体遇到break语句,直接跳出循环,执行循环外的语句。
            }
            System.out.println("跑了"+i+"圈");
        }
        System.out.println("程序结束");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值