一起学java-韩顺平老师

JAVA学习-01-韩顺平老师

01-JAVA 概述

  • 基本概念
    • jdk 由 jre 和类工具库组成
    • jre 由 jvm(虚拟机)和标准库组成
  • jdk 安装
    • 官网下载jdk安装
    • 配置环境变量
      • 配置环境变量的作用:是为了能够在任意的地方使用 java javac等
      • JAVA_HOME 变量值为地址
      • 配置 path 路径
  • java常用转义
    • ‘\t’ 间隔符
    • ‘\n’ 换行符
    • ‘\’ 表示一个 ‘\’
  • java注释
    • // 单行注释
    • /**/ 多行注释
    • /** */ 文档注释
    • 单行和多行注释 给程序员看的
    • 文档注释 是对文档的注释
  • java代码规范
    • 进行运算的时候前后 用空格隔开
    • “=” 前后 用空格隔开
    • 推荐的行尾风格代码如下:
    public class Double {
    public static void main(String[] args) { 
    	double a = 1.3;
    	double b = 1.3;
    	System.out.println(a==b);
    	System.out.println(a);
    	System.out.println(b);
    }
    }
    
  • DOS命令
    • md 创建文件
    • rd 删除文件
    • cd 切换路径
    • dir 当前文件夹下的文件
    • d: 切换盘
  • 相对路径和绝对路径
    • 相对路径是相对于本文件夹的路径
      • 含有 ./ 或是 …/ 这样的路径
    • 绝对路径是从盘开始一直到文件的所在路径
      • D:\java\java1\1.txt

02-变量

  • 数据类型
    • 基本数据类型
      • int 整型
      • float double 单精度浮点型和双精度浮点型
      • boolean 布尔类型 true false
      • char 字符类型
      • String 字符串类型
    • 应用数据类型
      • 类(class)
      • 接口(interface)
      • 数组([])
  • 自动类型转换
    • 默认从低精度向高精度转换
      • 例如 int -> double
  • 加号使用
    • 任何数和字符串相加都得字符串(字符串的拼接)
    • 字符类型与数字相加得到默认是数字
    public class Add{
    
    public static void main(String[] args) {
    	//加号的使用
    	//1.加号两边出现一个字符串,则结果为字符串拼接
    	System.out.println("100"+1);
    	//2.两个数相加
    	System.out.println(100+1);
    	// 3.char类型 实质上就是一个字符串,在相加的时候是ASCII码对应的数字相加
    	System.out.println((int)'a'+1);
    }
    }
    
  • 浮点数使用
    • 浮点数在做除法的时候无法获得准确的值,只能是近似值
    • 判断两个浮点数是否相等可以使用差值是否小于一个很小的数
    public class Char{
    public static void main(String[] args) {
    	double num1 =  2.7;
    	// 一个浮点数除以一个整数的时候,会出现近似小数的情况
    	double num2 = 8.1/3;
    	System.out.println(num1);//2.7
    	System.out.println(num2);//2.699997
    	// 所以可以根据两个数的差值小于某一很小的数时,我们认为它相等
    	//根据差值来判断是否相等
    	if(num2 - num1 < 0.0001){
    		System.out.println("两个数差值很小,我们认为它们相等");
    	}
    }
    }
    
  • JAVA API 文档
    • 文档组成
      • jdk包含有很多个
      • 每个 包含很多接口、类、异常
      • 下面包含很多的字段、构造器、成员方法(方法)
  • 常见编码类型
    • ASCII 码
    • ISO-8859-1
    • GBK 中文编码
    • UTF-8
  • 类型转换
    • 自动类型转换
      • 低精度可以自动想高精度转换
        • 例如 int类型 和 double类型 相加得到的是 double类型
    • 强制类型转化
    // - 高精度 -> 低精度 但是低精度的大小必须要能够承受这个值,不然会出现负值
    int a = (int)2.3; // a=2.3
    // 基本数据类型转化为String
    int b = 1;
    Boolean c = true;
    float d = 1.1f;
    double e = 1.1;
    // 在后面加一个空字符来转换成字符串型
    String b = b + "";
    String c = c + "";
    String e = e + "";
    String str = b + "" + c + "" + a + ""; // 2.31true
    // String -> 基本数据类型(oop)方法
    int num1 = Integer.parseInt(b); // b=1 (整型)
    double num2 = Double.parseDouble(e); // e = 1.1 (double型)
    float num2 = Float.parseFloat(d); // e = 1.1 (double型)
    
  • 注意事项:
    • str a = “123” 字符串可以转换为数字 “hello” 字符串不可能转换成 int 会出现异常,程序将终止
    String str = "123";
    int  n = (int)str; //可以转换为int类型
    String str1 = "hello"
    int n1 = (int)str1 // 抛出异常,无法转换 
    

03-运算符

  • 基本运算符
    • ‘+’ 加
    • ‘-’ 减
    • ‘*’ 乘
    • ‘/’ 除
    • ‘%’ 取模
    • ‘++’ 自增
      • ++a 先加加后取值
      • a++ 先取值后加加
    • ‘–’ 自减
  • 简单示例题目
    public class ArithmeticOpratorExercise{
    public static void main(String[] args) {
    	// 1.计算59天有多少个星期零几天
    	int days = 59;
    	int weeks = 59 / 7;
    	int day = 59 % 7;
    	System.out.println(days + "天一共有" + weeks + "星期" + day + "天");
    
    	// 华氏温度转换为摄氏温度 5/9(华氏温度-100)
    	double huashi = 320.3;
    	double sheshi = 5/(9/(huashi-100));
    	System.out.println(huashi + "转换为摄氏温度是:"+ sheshi + "度");
    } 
    }
    
  • 关系运算符
    • 运算符
      • >
      • <
      • >=
      • <=
      • ==
    • 运算结果是 true 或是 false
  • 逻辑运算符
    • 用于链接多个条件表达式,最终结构也是boolean
    • 运算符 短路与 和 与 最终结果一样
      • a&b 与
      • a|b 或
      • a&&b 短路与 效率更高
        • 如果第一个为真,则后面的疚不会判断
      • a||b 短路或
        • 如果第一个为真,则第二个不会判断
      • ! 取反
      • a^b 逻辑异或 当两个不同的时候为真,相同为真
  • 赋值运算符
    • 基本运算符
      • =
    • 复合运算符
      • +=
      • -=
      • /=
      • *=
      • %=
      int a = 3;
      a += 3; // a = 6
      
  • 三元运算符
    • 条件表达式?表达式1:表达式2;
    • 运算规则
      • 如果条件表达式为真,结果为表达式1
      • 如果条件表达式为假,结果为表达式2
    • 注意事项:
      • 表达式1和表达式2要为可以赋值给接受变量的类型(可以自动转换,或者强转)
        • 不能把 double类型 赋值给 int类型
      • 三元运算符可以转换为if-else语句
  • 运算符的优先级
    • 运算符(从上到下依次减小,单目运算符从右向左)
      • . () {} , ;
      • ++ – ~ !(data type)
        • / %
      • << >> >>> 位移
      • < > <= >= instanceof
      • == !=
      • &
      • ^
      • |
      • &&
      • ||
      • ? :
  • java键盘输入
    • 1.引入Scanner所在的包
    • 2.创建一个 Scanner 对象
    • 3.使用对象中的方法来接受键盘输入
    import java.util.Scanner;//表示把java.util 包下面的Scanner类导入
    public class Input{
    	public static void main(String[] args) {
    		// 创建一个对象 new 
    		Scanner myScanner = new Scanner(System.in);
    		System.out.println("请输入你的姓名:");
    		// 输入一个字符串
    		String name = myScanner.next();
    		System.out.println("请输入你的年龄");
    		int age = myScanner.nextInt();
    		System.out.println("请输入你的薪水");
    		double sal = myScanner.nextDouble();
    		System.out.println("姓名" + name + "\t年龄" + age + "\t薪水" + sal);
    	}
    }
    
  • 四种进制
    • 四大进制
      • 2进制
      • 8进制
      • 10进制
      • 16进制
    • 10进制转其他进制
      • 用进制数作为除数取余数连接连续除法所得最后结构(从下往上)
    • 2 8 16 -> 10
      • 每位数字乘以进制的次方(次方根据该位后所含有的位数)
    • 2->8 2->16
      • 2->8 每三位转换成一个8进制位
      • 2->16 每四位转换成一个16进制位
    • 8->2 16->2
      • 8->2 一位转换为3个二进制位
      • 16->2 一位转换成4个二进制位
  • 源码、反码、补码
    • 正数的源码、反码、补码都是一样的
    • 反码 除符号位以外其他位取反
    • 补码 补码 = 反码 + 1 反码 = 补码 + 1
    • 最终获得的结构一定要转换成源码才能计算出结果

自己的小总结,如出现错误希望大家纠正交流学习!

你可能感兴趣的:(Java,java,开发语言,后端)