学习java基础第一天笔记

dos命令符教程

打开 cmd 方式

1.开始+系统+命令提示符

  1. win键+R
  2. 在任意文件夹下桉住shift

常用DOS命令

#盘符切换            直接打DE
#查看当前目录下的文件  dir
#切换目录   cd  (change directory)  cd /d f
			cd..返回上一级目录
#清理屏幕  cls  (clear screen)
#退出终端  exit
#查看电脑IP   ipconfig
#ping命令
	ping www.baidu.com

编写java程序

记事本编写HelloWord

1.编辑好 hellow.java文件

2.在当前文件夹目录下前面加 cmd

3.进入控制台先编译 javac hello.java

4.输入java hello即可运行

注意public class 后面的类名和文件名字一致

标识符

所有的标识符都应该是以字母(A-Z或者a-z),美元符\或者下划线开始

大小写十分敏感

数据类型

java是一门强类型语言

要求变量的使用严格要求规定,所有变量必须先定义后使用

java的数据类型分为两大类

基本类型:

​ -byte占一个字节范围:-128`127

​ short2字节

​ 1.数值类型:整数类型:int 4字节

​ long 8字节

​ 浮点类型:float 4个字节

​ double 8个字节

​ 字符型char占2个字节

​ 2.boolean类型:占1位,只有true和false两个值

引用类型:

​ 类

​ 接口

​ 数组

字节:1bit表示1位

1Byte表示一个字节 1B=8b

1024B=1KB

1024KB=1M

数据类型拓展

public class Demo1 {
    public static void main(String[] args) {
        //整数拓展  进制    2-0b  4  8-0  10   16-0x
        int i = 10;
        int i2 = 010;
        int i3 = 0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println("========================================");


        //浮点数拓展
        //float  有限 离散  摄入误差  大约数但是不等于
        //double
        //最好完全使用浮点数进行比较
        float f = 0.1f;

        //字符拓展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c1);
        System.out.println((int)c2);
        //Unicode编码   0-65536  2的16次方


        //转义字符
        // \t   ----制表符
        // \n   ----换行


        //布尔值
        boolean flag = true;
        if(flag == true){}//新手
        if(flag){}//老手
    }
}

### 类型转换
public class Demo02 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;  //内层溢出,,这个是用强制转换
        //强制转换   (类型)变量名   高---低
        //自动转换    低--高
        System.out.println(i);
        System.out.println(b);

        //测试溢出
        //JDK7中数字可以用下划线分割,不影响原数字的情况
        int money = 10_0000_0000;
        int years = 20;
        int total = years * money;  //计算的事实已经溢出
        long total1 = years * money;  //转换之前就已经溢出
        long total3 = money *((long)years);//成功
        System.out.println(total);
        System.out.println(total1);
        System.out.println(total3);
    }
}

变量

public class Demo03 {

    //类变量:static,便于调用

    //属性:变量
    //实例变量:从属于对象的;如果不自行初始化会默认一个初始值
    String name;
    int age;
        //布尔值默认是false
        //除了基本类型都是null
    //main方法
    public static void main(String[] args) {
        //仅在生命周期内起作用
        //局部变量:必须声明和初始化

        int a,b,c;  //不提倡这么写,尽量一行定义一个,保证程序的可读性
        String name = "wangfan";
        char x = 'X';
        double pi = 3.14;



    }
}

常量

public class Demo04 {
    static final double PI = 3.14;
    //修饰符,没有后顺序,static不可省略
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

    所有变量\方法\类名:见名知意
    类成员变量:首字母小写和驼峰原则:mouthSalary-
    常量:大写字母和下划线:MAX_VALUE
    类名:首字母大写Man
    方法名:首字母小写和驼峰原则run();

运算符

  • 算数运算符:+ - * / % ++ –
  • 赋值运算符: = (自右向左)
  • 关系运算符: > < >= <= == !=
  • 逻辑运算符: &&与 ||或 !
  • 条件运算符: ? :
package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 121231321213L;
        int b = 123;
        short c = 10;
        byte d = 8;
        System.out.println(a+b+c+d); //long
        System.out.println(b+c+d);  //int
        System.out.println(c+d);    //int
        //有lang的情况下就long,没有lang其他存在是也是int
    }
}
自增自减
package operator;

public class Demo03 {
    //++自增  -- 自减   一元运算
    int a = 3;  //a=3
    int b = a++;  //b=a-->a=a+1=4;
    int c = ++a;  //c = a+1=4+1=5
}

位运算
package operator;

public class Demo04 {
    public static void main(String[] args) {
        /*
        位运算
        A =     0011 1100
        B =     0000 1101

        A & B --0000 1100 如果都是1则为1,否则为0
        A | B   0011 1101 如果都是0则为0 否则为1
        A ^ B   0011 0001 相同为0 ,否则1

        2*8=16  2*2*2*2
        <<左移  *2
        >>右移  /2
       ------------- 原理:--------
        2<<3    利用2进制把数字1左移3位
        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    4
        0001 0000    16
         */
    }
}

包机制

  • package 新建的时候倒置:com.baidu.demo,即可简历三项子文件夹子
  • 导入包:用import,其中星号*代表包下所有类

流程控制

用户交互Scanner

基本语法;Scanner s = new Scanner (System.in)

package jichu.scanner;

import java.util.Scanner;

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

        //创建一个扫描器对象,接受键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方法输入数据:");

        //判断有没有输入
        if(scanner.hasNext()){  //该方法检测是有有输入
            //使用next 方式接受
            String str = scanner.next();  //程序一直等待输入
            System.out.println("输出的内容为:"+str);
        }

        //凡是属于IO流的类,如果不关闭一直会占用资源,
        scanner.close();
        //上面没必要用if语句
    }
}

next();
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next()不能得到带有空格的字符串。
nextLine():
***1、以Enter为结束符,***也就是说nextLine()方法返回的是输入回车之前的所有字符。2、可以获得空白

输入实际案例

计算平均值和

package jichu.scanner;

import java.util.Scanner;

public class example {
    //我们可以输入多个数字,并求其中和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
    public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    //和
    double sum = 0;
    //计算输入了多少的数字
    int m = 0;

    //通过死循环判断结束,并进行求和
    while(scanner.hasNextDouble())
    {
     double x = scanner.nextDouble();
     //计数器
        m++;
        sum += x;
    }
        System.out.println(m+"个数的和为"+sum);
        System.out.println(m+"个数的平均数为"+(sum/m));
    scanner.close();
}

}
  • scanner.close(); 这个是进行关闭IO流的

顺序结构

从上到下,任何一种算法都离不开

选择结构

if

else

else if

当if不成立时走else if,当if成立整个语句全部结束

当else if成立就此结束,也就是说if和else if不能同时成立

嵌套if语句

switch语句

​ break会跳出switch语句

循环结构

  • while循环(先判断后执行)

    ​ while(布尔表达式){}

    ​ 表达式不成立的时候会结束循环,当为数字的时候会变成死循环

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ms8S8HD4-1615729032534)(C:\Users\86155\Desktop\KX%J1E%DX(1]OC)]VKC8_4HI.png)

  • do…while循环(先执行后判断)

    ​ do{

    ​ //代码

    ​ }while(布尔表达式)

    do…while至少无条件执行一次

  • for循环(可以代表全部循环)

    for(初始化;条件判断;迭代)

    IDEA快捷键: 100.for 可以直接打出整个for循环的语法结构

    eg:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NW4lDrJQ-1615729032538)(C:\Users\86155\Desktop\9.png)]

break&continue

break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)—直接就不循环了
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。—遇到他就结束一次循环回到循环语句的顶端


java方法

何谓方法

system.out.println()

system是一个类,out输出结果,println是方法

Java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序组合

    • 方法包含于类或对象中

    • 方法在程序中被创建,在其他地方被引用

    • 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。

    public class methodDome01 {
        public static void main(String[] args) {
           int sum = add(1,2) ;
            System.out.println(sum);
        }
    
    
        //加法
        public static int add(int a, int b){
            return a+b;
        }
    }
    
    

方法的定义和调用

Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

返回值类型∶方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void

方法名:是方法的实际名称。方法名和参数表共同构成方法签名。

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

​ **形式参数:**在方法被调用时用于接收外界输入的数据。 —自己定义那种

​ **实参:**调用方法时实际传给方法的数据。 —编辑程序调用那块要用

方法体:方法体包含具体的语句,定义该方法的功能。

以下方法实例:

package method;


public class Demo02 {
    public static void main(String[] args) {
        int max = max(10,20);
        System.out.println(max);
    }

    //比大小
    public static int max(int num1,int num2){
        int result = 0;
        if(num1 == num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }

        else if(num1 > num2) {
            result = num1;
        }else
            result = num2;


        return result; //
    }
}

java只有值传递

方法重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数。

eg;就是同一个文件中,名字一模一样,但是参数值类型不一样

◆方法的重载的规则:

	1. 方法名称必须相同
  1. 方法的返回类型可以相同也可以不相同。

  2. 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)

  3. 仅仅返回类型不同不足以成为方法的重载。

    实现理论:

    1. 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

    2. 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值