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.7System.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-韩顺平老师相关推荐

  1. Java坦克大战 跟学韩顺平老师视频开发

    这里写目录标题 TankBigWarGame 介绍 界面展示 项目架构 安装教程 游戏说明 项目涉及技术功能 游戏结束判断 项目不足与优化空间 相关代码展示 主方法Main 绘图界面 MyPanelF ...

  2. Java基础易忘重点内容笔记【附B站韩顺平老师课程链接】

    B站课程链接:https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.999.0.0 1. 文档注释 用于对Java方法的注释,可据此生 ...

  3. Java集合深入剖析【韩顺平老师版】

    Java集合知识体系[思维导图] 1.集合体系 1.1.为什么使用集合? 1.数组的不足 长度固定,不能更改 存储的必须是同一类型的元素(基本类型或引用类型) 增加.删除元素比较麻烦 2.集合的优势 ...

  4. 韩顺平老师《一周学会Linux》视频笔记

    前言: 这个教学视频使用的软件环境是: Red Hat Linux(Kernel 2.4.20-8)红帽Linux系统[release 9 shrike],在虚拟机中运行 1.成为一个Linux专家的 ...

  5. 韩顺平老师讲诉如何学习PHP

    有很多网友发来邮件询问各种问题,有深有浅, 有难有易.因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18 1 ...

  6. 韩顺平老师讲解13个自学编程的坑

    文章目录 前言 内容 误区一 不注重基础,什么技术火就学什么 误区二 总是纠结学最好的编程语言 误区三 喜欢看不喜欢动手 误区四 没有认识到,听懂和能使用时两回事 误区五 很少做笔记,也不去画思维导图 ...

  7. 韩顺平老师坦克大战项目总结

    韩顺平老师讲的坦克大战项目,用代码进行了复现,有几个自己的总结 1 有个别功能没有实现,EnemyTank中敌人坦克向四周移动功能没有实现,只是实现了随机转向,但一直停在原地不动,没有找到bug所在. ...

  8. 韩顺平老师坦克大战优化版

    一.项目介绍 1.前言 基于韩顺平老师坦克大战的框架和思路,进行了一些优化.编码上尽量按照阿里的代码规约:有非常详尽的注释:引入了线程池,线程安全集合类,原子类等:通过这个小项目的学习,可以深入地理解 ...

  9. 传智播客韩顺平老师PHP入门到精通视频免费下载

    传智播客韩顺平老师PHP入门到精通视频免费下载--留下邮箱Lz发送 视频介绍: PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写.PHP 是一种 HTML 内嵌式的语 ...

  10. 数据结构 - Java -韩顺平 图解Java数据结构和算法

    数据结构 Lesson 1 数据结构的知识总结 1. 几个经典的算法面试题 2. 线性结构与非线性结构 2.1 稀疏数组 sparsearray 2.2 队列 2.2.1 顺序队列: 2.2.2 环形 ...

最新文章

  1. 总监调岗至前台,企业被判赔偿26万,法院:“侮辱性调岗”违法!
  2. Nginx安装及运行服务
  3. tensorflow随笔-变量
  4. Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期
  5. Qt坐标系以及自定义可移动控件
  6. 从神经质症的发生发展过程找到走出焦虑的途径
  7. IOS 程序猿 UITbleView 篇
  8. CentOS7.5 使用二进制程序部署Kubernetes1.12.2(三)
  9. Spring Boot源码:SpringBootExceptionReporter
  10. 如何固定电脑ip地址
  11. 初级程序员面试不靠谱指南(四)
  12. oracle 9i/10g/11g(11.2.0.3)安装包和PATCH下载地址汇总
  13. 暴雪游戏登录html代码,官方平台账号绑定暴雪游戏通行证!
  14. 谷歌浏览器安装JSON格式化插件
  15. 极值理论(一):极大值极限分布
  16. C语言 输入今天的日期,显示明天的日期
  17. 浅谈MES系统追溯功能五大关键作用
  18. 不是所有的战略规划都可以用BLM
  19. AEG POWER可控硅工业充电机RCS
  20. 【计算机网络 一 概述】

热门文章

  1. MySQL数据库:SQL语句优化
  2. 利用Hander的日志优化性能
  3. HDOj 4544
  4. python100个常用术语_Python 常用术语
  5. 零知识证明系列之二——Schnorr协议
  6. Verilog专题(十六)移位寄存器(逻辑移位、算术移位、循环移位)
  7. android设置图片长宽比例,【教程】安卓保证图片长宽比的同时拉伸图片
  8. 来认识一下Ning!
  9. Cadence IC617工艺库安装步骤
  10. 将数据库的数据导入es中