一起学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.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语句
- 表达式1和表达式2要为可以赋值给接受变量的类型(可以自动转换,或者强转)
- 运算符的优先级
- 运算符(从上到下依次减小,单目运算符从右向左)
- . () {} , ;
- ++ – ~ !(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坦克大战 跟学韩顺平老师视频开发
这里写目录标题 TankBigWarGame 介绍 界面展示 项目架构 安装教程 游戏说明 项目涉及技术功能 游戏结束判断 项目不足与优化空间 相关代码展示 主方法Main 绘图界面 MyPanelF ...
- Java基础易忘重点内容笔记【附B站韩顺平老师课程链接】
B站课程链接:https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.999.0.0 1. 文档注释 用于对Java方法的注释,可据此生 ...
- Java集合深入剖析【韩顺平老师版】
Java集合知识体系[思维导图] 1.集合体系 1.1.为什么使用集合? 1.数组的不足 长度固定,不能更改 存储的必须是同一类型的元素(基本类型或引用类型) 增加.删除元素比较麻烦 2.集合的优势 ...
- 韩顺平老师《一周学会Linux》视频笔记
前言: 这个教学视频使用的软件环境是: Red Hat Linux(Kernel 2.4.20-8)红帽Linux系统[release 9 shrike],在虚拟机中运行 1.成为一个Linux专家的 ...
- 韩顺平老师讲诉如何学习PHP
有很多网友发来邮件询问各种问题,有深有浅, 有难有易.因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18 1 ...
- 韩顺平老师讲解13个自学编程的坑
文章目录 前言 内容 误区一 不注重基础,什么技术火就学什么 误区二 总是纠结学最好的编程语言 误区三 喜欢看不喜欢动手 误区四 没有认识到,听懂和能使用时两回事 误区五 很少做笔记,也不去画思维导图 ...
- 韩顺平老师坦克大战项目总结
韩顺平老师讲的坦克大战项目,用代码进行了复现,有几个自己的总结 1 有个别功能没有实现,EnemyTank中敌人坦克向四周移动功能没有实现,只是实现了随机转向,但一直停在原地不动,没有找到bug所在. ...
- 韩顺平老师坦克大战优化版
一.项目介绍 1.前言 基于韩顺平老师坦克大战的框架和思路,进行了一些优化.编码上尽量按照阿里的代码规约:有非常详尽的注释:引入了线程池,线程安全集合类,原子类等:通过这个小项目的学习,可以深入地理解 ...
- 传智播客韩顺平老师PHP入门到精通视频免费下载
传智播客韩顺平老师PHP入门到精通视频免费下载--留下邮箱Lz发送 视频介绍: PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写.PHP 是一种 HTML 内嵌式的语 ...
- 数据结构 - Java -韩顺平 图解Java数据结构和算法
数据结构 Lesson 1 数据结构的知识总结 1. 几个经典的算法面试题 2. 线性结构与非线性结构 2.1 稀疏数组 sparsearray 2.2 队列 2.2.1 顺序队列: 2.2.2 环形 ...
最新文章
- 总监调岗至前台,企业被判赔偿26万,法院:“侮辱性调岗”违法!
- Nginx安装及运行服务
- tensorflow随笔-变量
- Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期
- Qt坐标系以及自定义可移动控件
- 从神经质症的发生发展过程找到走出焦虑的途径
- IOS 程序猿 UITbleView 篇
- CentOS7.5 使用二进制程序部署Kubernetes1.12.2(三)
- Spring Boot源码:SpringBootExceptionReporter
- 如何固定电脑ip地址
- 初级程序员面试不靠谱指南(四)
- oracle 9i/10g/11g(11.2.0.3)安装包和PATCH下载地址汇总
- 暴雪游戏登录html代码,官方平台账号绑定暴雪游戏通行证!
- 谷歌浏览器安装JSON格式化插件
- 极值理论(一):极大值极限分布
- C语言 输入今天的日期,显示明天的日期
- 浅谈MES系统追溯功能五大关键作用
- 不是所有的战略规划都可以用BLM
- AEG POWER可控硅工业充电机RCS
- 【计算机网络 一 概述】