软帝学院Java学习笔记Day1

Java语言基础(常量的概述和使用)

· A:什么是常量

o 在程序执行的过程中其值不可以发生改变

· B:Java中常量的分类

o 字面值常量

o 自定义常量(面向对象部分讲)

C:字面值常量的分类

o 字符串常量 用双引号括起来的内容

o 整数常量 所有整数

o 小数常量 所有小数

o 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号

o 布尔常量 较为特殊,只有true和false

o 空常量 null(数组部分讲解)

D:案例演示

o 用输出语句输出各种常量。null不演示

Java语言基础(进制概述和二,八,十六进制图解)

· A:什么是进制

o 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

o 例如一周有七天,七进制,一年有十二个月,十二进制

· B:十进制的由来

o 十进制的由来是因为人类有十个手指

· C:二进制的由来

o 其实二进制来源与中国,请看史料记载

o 18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。

· D:八进制的由来

o 任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。

o 所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。

· E:十六进制的由来

o 但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。

· F:不同进制表现同一个数据的形式特点

o 进制越大,表现形式越短

02.03_Java语言基础(不同进制数据的表现形式)(掌握)

· A:二进制的数据表现形式

o 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)

· B:八进制的数据表现形式

o 由0,1,…7组成。以0开头

· C:十进制的数据表现形式

o 由0,1,…9组成。整数默认是十进制的

· D:十六进制的数据表现形式

o 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

· E:案例演示

o 输出不同进制表现100的数据。

o 0b100

o 0100

o 100

o 0x100

Java语言基础(任意进制到十进制的转换图解)

· A:任意进制到十进制的转换原理

o 系数:就是每一位上的数据。

o 基数:X进制,基数就是X。

o 权:在右边,从0开始编号,对应位上的编号即为该位的权。

o 结果:把系数*基数的权次幂相加即可。

· B:画图练习

o 二进制--十进制

o 八进制--十进制

o 十六进制--十进制

Java语言基础(十进制到任意进制的转换图解)

· A:十进制到任意进制的转换原理

o 除积倒取余

· B:画图练习

o 十进制--二进制

o 十进制--八进制

o 十进制--十六进制

Java语言基础(快速的进制转换法)

· A:8421码及特点

o 8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

· B:通过8421码的方式进行二进制和十进制的相互转换

· C:二进制到八进制的简易方式

· D:二进制到十六进制的简易方式

Java语言基础(原码反码补码)

· A:为什么要学习原码反码补码?

o 后面要学习强制类型转换,如果不知道有原反补会看不懂结果

· B:有符号数据表示法的几种方式

o 原码

§ 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

§ 通过一个字节,也就是8个二进制位表示+7和-7

§ 0(符号位) 0000111

§ 1(符号位) 0000111

o 反码

§ 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

o 补码

§ 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

Java语言基础(原码反码补码的练习)(了解)

· A:已知原码求补码

o 0b10110100

· B:已知补码求原码

o 0b11101110

Java语言基础(变量的概述及格式)(掌握)

· A:什么是变量

o 在程序执行的过程中,在某个范围内其值可以发生改变的量

· B:变量的定义格式

o 数据类型 变量名 = 变量值;

· C:为什么要定义变量

o 用来不断的存放同一类型的常量,并可以重复使用

Java语言基础(数据类型的概述和分类)(掌握)

· A:为什么有数据类型

o Java语言是强类型语言,对于每一种数据都定义了

明确的具体数据类型,在内存中分配了不同大小的内存空间

· B:Java中数据类型的分类

o 基本数据类型

o 引用数据类型

§ 面向对象部分讲解

· C:基本数据类型分类(4类8种)

o 整数型

§ byte 占一个字节 -128到127

§ short 占两个字 -2^15~2^15-1

§ int 占四个字节 -2^31~2^31-1

§ long 占八个字节 -2^63~2^63-1

o 浮点型

§ float 占四个字节 -3.403E38~3.403E38 单精度

§ double 占八个字节-1.798E308~1.798E308 双精度

o 字符型

§ char 占两个字节 0~65535

o 布尔型

§ boolean

§ boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

Java语言基础(定义不同数据类型的变量)(掌握)

· A:案例演示

o 定义不同基本数据类型的变量,并输出

o 赋值时候注意float类型,long类型

Java语言基础(使用变量的注意事项)(掌握)

· A:案例演示

o a:作用域问题

§ 同一个区域不能使用相同的变量名

o b:初始化值问题

§ 局部变量在使用之前必须赋值

o c:一条语句可以定义几个变量

§ int a,b,c...;

Java语言基础(数据类型转换之隐式转换)(掌握)

· A:案例演示

o a:int + int

o b:byte + int

· B:Java中的默认转换规则

o 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

· C:画图解释byte+int类型的问题

Java语言基础(数据类型转换之强制转换)(掌握)

· A:强制转换问题

o int a = 10;

o byte b = 20;

o b = a + b;

· B:强制转换的格式

o b = (byte)(a + b);

· C:强制转换的注意事项

o 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

Java语言基础(面试题之变量相加和常量相加的区别)(掌握)

· A:案例演示

o 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。

o byte b1 = 3;

o byte b2 = 4;

o byte b3 = b1 + b2;

§ 从两方面去回答这个题

§ b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值

§ byte类型的变量在进行运算的时候,会自动类型提升为int类型

o byte b4 = 3 + 4;

§ 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

Java语言基础(long与float的取值范围谁大谁小)(了解)

进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的

o byte,short,char -- int -- long -- float -- double

o long: 8个字节

o float:4个字节

o IEEE754

o 4个字节是32个二进制位

o 1位是符号位

o 8位是指数位

o 00000000 11111111

o 0到255

o 1到254

o -126到127

o 23位是尾数位

o 每个指数位减去127

A:它们底层的存储结构不同。

o B:float表示的数据范围比long的范围要大

§ long:2^63-1

§ float:3.410^38 > 210^38 > 2*8^38 = 22^3^38 = 22^114 > 2^63-1

02.17_Java语言基础(字符和字符串参与运算)(掌握)

A:案例演示

o System.out.println('a');

o System.out.println('a'+1);

通过看结果知道'a'的值是多少,由此引出ASCII码表

· B:ASCII码表的概述

o 记住三个值:

§ '0' 48

§ 'A' 65

§ 'a' 97

· C:案例演示

o System.out.println("hello"+'a'+1);

o System.out.println('a'+1+"hello");

· D:+在有字符串参与中被称为字符串连接符

o System.out.println("5+5="+5+5);

o System.out.println(5+5+"=5+5");

02.18_Java语言基础(char数据类型)(掌握)

· A:char c = 97; 0到65535

· B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

o 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节

o 所以,Java中的字符可以存储一个中文汉字

Java语言基础(算术运算符的基本用法)(掌握)

· A:什么是运算符

o 就是对常量和变量进行操作的符号。

· B:运算符的分类

o 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符

· C:算数运算符有哪些

o +,-,*,/,%,++,--

· D:注意事项:

o a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符

o b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

o c:/获取的是除法操作的商,%获取的是除法操作的余数

o %运算符

§ 当左边的绝对值小于右边绝对值时,结果是左边

§ 当左边的绝对值等于右边或是右边的倍数时,结果是0

§ 当左边的绝对值大于右边绝对值时,结果是余数

§ %运算符结果的符号只和左边有关系,与右边无关

§ 任何一个正整数%2结果不是0就是1可以用来当作切换条件

Java语言基础(算术运算符++和--的用法)(掌握)

· A:++,--运算符的作用

o 自加(++)自减(--)运算

o ++:自加。对原有的数据进行+1

o --:自减。对原有的数据进行-1

· B:案例演示

o a:单独使用:

§ 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)

o b:参与运算使用:

§ 放在操作数的前面,先自增或者自减,然后再参与运算。

§ 放在操作数的后面,先参与运算,再自增或者自减。

Java语言基础(算术运算符++和--的练习)(掌握)

A:案例演示

o 请分别计算出a,b,c的值?

o int a = 10;

int b = 10;

int c = 10;

a = b++;

c = --a;

b = ++a;

a = c--;

B:案例演示

o 请分别计算出x,y的值?

o int x = 4;

int y = (x++)+(++x)+(x*10);

· C:面试题

o byte b = 10;

o b++;

o b = b + 1;

o 问哪句会报错,为什么

Java语言基础(赋值运算符的基本用法)(掌握)

A:赋值运算符有哪些

a:基本的赋值运算符:=

§ 把=右边的数据赋值给左边。

b:扩展的赋值运算符:+=,-=,*=,/=,%=

§ += 把左边和右边做加法,然后赋值给左边。

Java语言基础(赋值运算符的面试题)(掌握)

· A:案例演示

o 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。

o short s=1;s = s+1;

o short s=1;s+=1;

Java语言基础(关系运算符的基本用法及其注意事项)(掌握)

· A:关系运算符有哪些(比较运算符,条件运算符)

o ==,!=,>,>=,

注意事项:

无论你的操作是简单还是复杂,结果是boolean类型。

"=="不能写成"="。

day01总结

· 把今天的知识点总结一遍。

同学们如有什么疑问,请到评论处留言你的问题,我们有专门的老师为你解答。

软帝java_「软帝学院」Java怎么学?从零开始学Java!相关推荐

  1. 「优知学院」淘宝架构的前世今生(下)

    " 淘宝技术架构前世今生就是一部架构活教材,今天仍然由陈睿mikechen为大家解读淘宝架构. 我稍微把前面淘宝架构的三个阶段简短总结: 淘宝1.0 采用LAMP mysql读写操作 淘宝2 ...

  2. 「优知学院」淘宝技术架构的前世今生(上)

    " 淘宝技术架构经历从最初的LAMP架构,到IOE架构,再到分布式架构,再到去IOE,最后到现在的云计算平台架构这一变化过程在不断解决上面的技术问题,可以说淘宝技术架构的演变就是活生生的一本 ...

  3. 复习七天通过软考高级「系统架构师」,我是如何做到的

    前言 软考复习的方式可以分为两种:报班和自学.当然也有加QQ要求共同分摊网课费用的,当然被我义正言辞地无情拒绝.原因很简单:没钱.于是前前后后自学了七天,最终考过了系统架构师.或许我的学习模式不适合你 ...

  4. android 关闭软键盘_「安卓之父」创立的 Essential 公司宣布关闭

    熟悉 Android 系统的人应该知道安迪·鲁宾(Andy Rubin),作为 Android 系统的共同创始人,安迪·鲁宾成立了 Android(安卓),带领他的团队打造了 Android 操作系统 ...

  5. pb系统改java_「软帝学院」:2019一线互联网公司Java高级面试题总结

    1.hashcode相等两个类一定相等吗?equals呢?相反呢? 2.介绍一下集合框架? 3.hashmap hastable 底层实现什么区别?hashtable和concurrenthashta ...

  6. 「实在RPA学院」电商运营36计:企微批量自动加好友

    越来越多的人开始接触RPA(机器人流程自动化),但是在上手时却经常会遇到这样那样的问题,而实在智能致力于打造人人都能上手的RPA工具,今天实在小编就来手把手教大家如何轻松搭建流程,实现高效工作! 我们 ...

  7. gcc编译器java_「gcc编译器下载」gcc编译器下载各版本下载 - seo实验室

    gcc编译器下载 相关阅读 @RequestMapping(value="/download_index")public String downloadExce Java SE D ...

  8. 孙鑫源java_「 孙鑫源 」孙鑫源的名字解释 - 名字网

    孙 简体字:孙(sūn) 繁体字:孫 部首:子 五行:金 简体笔画:6 繁体笔画:10 吉凶:吉 汉字解释 ☆孙 [sūn] ☆儿子的儿子:-子.-女. ☆跟孙子同辈的亲属:外-.侄-(侄儿的子女). ...

  9. 知乎热议程序员「35岁定律」,30岁转行学Python是否可行?

    这一问题引起了网友们的关注.有网友表示,程序员真是一座围城,城外的人想进去,城里的人想出来. 30岁转行晚不晚? 一位国企编外的女生在知乎发起了询问,「刚开始自学 Python,给自己一年时间有出路吗 ...

最新文章

  1. linux python虚拟环境 相关的
  2. fastjson Features 说明
  3. 操作系统(三)内存管理
  4. Java基础——JSP(三)
  5. PAT1105:Spiral Matrix
  6. 事业编,突然接到换岗通知,作为个人能怎么办?能拒绝换岗吗?拒绝的后果是什么?
  7. Git提交错误:Permission denied (publickey),fatal: Could not read from remote reposito
  8. [每日一题]10、一道关于九宫格的面试题
  9. 电脑里的所有播放器只能播放声音没有画面
  10. 电信悦meYMB0300-CW-卡刷-刷机固件
  11. 计算机保研面试自我介绍,计算机保研面试英文自我介绍范文
  12. OTT发展背后的融合通讯
  13. 求助交通仿真 Netlogo软件
  14. 图解unicode、utf8和utf8mb4
  15. python统计爬取全国地铁线路站点
  16. 监控录像文件有覆盖了该如何恢复数据
  17. 计算机英语长句,英语长句分析经典100句.doc
  18. python 统计检验_[转载]Python替代SPSS进行各项统计检验
  19. 高并发下如何设计秒杀系统
  20. 2021-03-19~20 大数据课程笔记 day58day59

热门文章

  1. 关于NFV需要了解的知识
  2. 超级表格:要山寨Excel,还是与之Say Byebye?
  3. linux 文件系统简析
  4. NAS m3u8下载器 m3u8转mp4保存本地
  5. 用TeamViewer连接到其他电脑很卡怎么办?
  6. csu1803——2016(数学)
  7. 用过的一些c++ xll开源库
  8. 笔记 ~ 第二章 - 2.1 关系数据结构及形式化定义
  9. 场景图生成论文阅读笔记 之 Neural Motifs
  10. 上升沿判断语句_自己明明持有着主升浪的股票却拿不住?一文教你判断主升浪的信号...