java2ee preview_JavaEE基础(二)
1、Java语言基础(常量的概述和使用)
A:什么是常量
在程序执行的过程中其值不可以发生改变
B:Java中常量的分类
字面值常量
自定义常量(面向对象部分讲)
C:字面值常量的分类
字符串常量 用双引号括起来的内容
整数常量 所有整数
小数常量 所有小数
字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量 较为特殊,只有true和false
空常量 null(数组部分)
D:案例演示
用输出语句输出各种常量。null不演示
2、Java语言基础(进制概述和二,八,十六进制图解)
A:什么是进制
进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
例如一周有七天,七进制,一年有十二个月,十二进制
B:十进制的由来
十进制的由来是因为人类有十个手指
C:二进制的由来
其实二进制来源与中国,请看史料记载
18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
D:八进制的由来
任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。
E:十六进制的由来
但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
F:不同进制表现同一个数据的形式特点
进制越大,表现形式越短
3、Java语言基础(不同进制数据的表现形式)
A:二进制的数据表现形式
由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
B:八进制的数据表现形式
由0,1,…7组成。以0开头
C:十进制的数据表现形式
由0,1,…9组成。整数默认是十进制的
D:十六进制的数据表现形式
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
E:案例演示
输出不同进制表现100的数据。
0b100
0100
100
0x100
4、Java语言基础(任意进制到十进制的转换图解)
A:任意进制到十进制的转换原理
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
结果:把系数*基数的权次幂相加即可。
B:画图练习
二进制--十进制
八进制--十进制
十六进制--十进制
5、Java语言基础(十进制到任意进制的转换图解)
A:十进制到任意进制的转换原理
除积倒取余
B:画图练习
十进制--二进制
十进制--八进制
十进制--十六进制
6、Java语言基础(快速的进制转换法)
A:8421码及特点
8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
B:通过8421码的方式进行二进制和十进制的相互转换
C:二进制到八进制的简易方式
D:二进制到十六进制的简易方式
7、Java语言基础(原码反码补码)
A:为什么要学习原码反码补码?
后面要学习强制类型转换,如果不知道有原反补会看不懂结果
B:有符号数据表示法的几种方式
原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
通过一个字节,也就是8个二进制位表示+7和-7
0(符号位) 0000111
1(符号位) 0000111
反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
8、Java语言基础(原码反码补码的练习)
A:已知原码求补码
0b10110100
B:已知补码求原码
0b11101110
9、Java语言基础(变量的概述及格式)
A:什么是变量
在程序执行的过程中,在某个范围内其值可以发生改变的量
B:变量的定义格式
数据类型 变量名 = 变量值;
C:为什么要定义变量
用来不断的存放同一类型的常量,并可以重复使用
10、Java语言基础(数据类型的概述和分类)
A:为什么有数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
B:Java中数据类型的分类
基本数据类型
引用数据类型
面向对象部分讲解
C:基本数据类型分类(4类8种)
整数型
byte 占一个字节 -128到127
short 占两个字 -2^15~2^15-1
int 占四个字节 -2^31~2^31-1
long 占八个字节 -2^63~2^63-1
浮点型
float 占四个字节 -3.403E38~3.403E38 单精度
double 占八个字节-1.798E308~1.798E308 双精度
字符型
char 占两个字节 0~65535
布尔型
boolean
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
11、Java语言基础(定义不同数据类型的变量)
A:案例演示
定义不同基本数据类型的变量,并输出
赋值时候注意float类型,long类型
12、Java语言基础(使用变量的注意事项)
A:案例演示
a:作用域问题
同一个区域不能使用相同的变量名
b:初始化值问题
局部变量在使用之前必须赋值
c:一条语句可以定义几个变量
int a,b,c...;
13、Java语言基础(数据类型转换之隐式转换)
A:案例演示
a:int + int
b:byte + int
B:Java中的默认转换规则
取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
C:画图解释byte+int类型的问题
14、Java语言基础(数据类型转换之强制转换)
A:强制转换问题
int a = 10;
byte b = 20;
b = a + b;
B:强制转换的格式
b = (byte)(a + b);
C:强制转换的注意事项
如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
15、Java语言基础(面试题之变量相加和常量相加的区别)
A:案例演示
面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
从两方面去回答这个题
b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
byte类型的变量在进行运算的时候,会自动类型提升为int类型
byte b4 = 3 + 4;
3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
16、Java语言基础(long与float的取值范围谁大谁小)
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
byte,short,char -- int -- long -- float -- double
long: 8个字节
float:4个字节
IEEE754
4个字节是32个二进制位
1位是符号位
8位是指数位
00000000 11111111
0到255
1到254
-126到127
23位是尾数位
每个指数位减去127
A:它们底层的存储结构不同。
B:float表示的数据范围比long的范围要大
long:2^63-1
float:3.410^38 > 210^38 > 2*8^38 = 22^3^38 = 22^114 > 2^63-1
17、Java语言基础(字符和字符串参与运算)
A:案例演示
System.out.println('a');
System.out.println('a'+1);
通过看结果知道'a'的值是多少,由此引出ASCII码表
B:ASCII码表的概述
记住三个值:
'0' 48
'A' 65
'a' 97
C:案例演示
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
D:+在有字符串参与中被称为字符串连接符
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
18、Java语言基础(char数据类型)
A:char c = 97; 0到65535
B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
所以,Java中的字符可以存储一个中文汉字
19、Java语言基础(算术运算符的基本用法)
A:什么是运算符
就是对常量和变量进行操作的符号。
B:运算符的分类
算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
C:算数运算符有哪些
+,-,*,/,%,++,--
D:注意事项:
a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
c:/获取的是除法操作的商,%获取的是除法操作的余数
%运算符
当左边的绝对值小于右边绝对值时,结果是左边
当左边的绝对值等于右边或是右边的倍数时,结果是0
当左边的绝对值大于右边绝对值时,结果是余数
%运算符结果的符号只和左边有关系,与右边无关
任何一个正整数%2结果不是0就是1可以用来当作切换条件
20、Java语言基础(算术运算符++和--的用法)
A:++,--运算符的作用
自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1
B:案例演示
a:单独使用:
放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
b:参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。
21、Java语言基础(算术运算符++和--的练习)
A:案例演示
请分别计算出a,b,c的值?
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
B:案例演示
请分别计算出x,y的值?
int x = 4;
int y = (x++)+(++x)+(x*10);
C:面试题
byte b = 10;
b++;
b = b + 1;
问哪句会报错,为什么
02.22_Java语言基础(赋值运算符的基本用法)(掌握)
A:赋值运算符有哪些
a:基本的赋值运算符:=
把=右边的数据赋值给左边。
b:扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
23、Java语言基础(赋值运算符的面试题)
A:案例演示
面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
short s=1;s = s+1;
short s=1;s+=1;
24、Java语言基础(关系运算符的基本用法及其注意事项)
A:关系运算符有哪些(比较运算符,条件运算符)
==,!=,>,>=,
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
"=="不能写成"="。
java2ee preview_JavaEE基础(二)相关推荐
- 蓝鸥Unity开发基础二——课时20 接口
蓝鸥Unity开发基础二--课时20 接口 一.接口 使用interface关键字定义接口 接口定义一组成员单不直接实现它们 二.实现接口 实现接口的任何类都必须实现其所有的成员方法 接口不能直接实例 ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- Bootstrap基础二十七 多媒体对象(Media Object)
Bootstrap<基础二十七> 多媒体对象(Media Object) 原文:Bootstrap<基础二十七> 多媒体对象(Media Object) Bootstrap 中 ...
- Web开发(一)·期末不挂之第三章·HTML基础二(html实现表格和表单)
HTML基础二 一. 表格✪✪✪ 二.表单 插入表单 输入标签✪✪ 多行文本域 下拉菜单 三.其他 label标签 内联框架 一. 表格✪✪✪ 插入表格: < table>< /ta ...
- shell基础二:查找技巧,find及xargs的使用
2019独角兽企业重金招聘Python工程师标准>>> 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 (在有些操作系统中只允许- e ...
- 自考计算机软件基础交作业,全国2009年7月自考计算机软件基础(二)试题及答案...
全国2009年7月自考计算机软件基础(二)试题及答案 课程代码:02365 一.单项选择题(本大题共20小题,每小题1分,共20分) 1.下列选项中属于事务处理软件的是( A ) A.工资管理软件 B ...
- python路由编程_Python Django基础二之URL路由系统
MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务 ...
- [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...
- MariaDB基础(二)
MariaDB基础(二) 介绍关于MariaDB的如下知识点: 1. 查询缓存 2. 索引 3. EXPLAIN 1.查询缓存: 1)什么是缓存? 缓存就是数据交换的缓冲区,即Cache,存放在内存中 ...
最新文章
- 下面为初学者分享一下SQL 数据库学习资料
- 视频关键帧提取 java_JavaCV实现将视频以帧方式抽取
- (转)MSSQL中如何用SQL清除所有表的数据(downmoon)?
- 关于JAVA中的synchronized,一段不错的解释...
- css-博客圆形头象的制作
- Make NTFS writable on macOS
- 一文带你全面了解java对象的序列化和反序列化
- 51Nod:1268 和为K的组合
- 注册表系列之恶作剧之吻
- java——base64 加密和解密
- Linux环境变量配置【转】
- (附源码)计算机毕业设计ssm大学生网络安全题库系统
- rba有哪几個主要組成部分_RBA管理体系有哪些
- 内存颗粒和闪存颗粒的区别_slc、mlc、tlc闪存芯片颗粒哪个好?有什么区别?
- 音乐API(仅测试使用)
- Dism++: 好用的Windows 系统优化工具
- imp的用法及注意事项
- 深入探究宽字节注入漏洞与修补原理
- 读《我三年开发经验,从字节跳动抖音组离职后,一口气拿到15家公司offer》有感
- Html和Markdown中的空格, nbsp; ensp; emsp; 以及 thinsp; zwnj; zwj;三种Unicode空格
热门文章
- LNK2019 无法解析的外部符号 main,函数 “int __cdecl invoke_main(void)“
- Java开发环境!mysqlworkbench下载安装教程
- PMP证书在面试项目经理时有加持吗?解惑
- 高精度倾角传感器的原理介绍
- 管理经济学-笔记(非常详细)
- 新浪云计算平台Sina App Engine感受
- Shifted Window算法详解
- 老K白话| 密集存储系统演化史(文尾投票)
- 一、MySql服务器
- 计算机首饰设计本科考试,珠宝首饰设计师考证条件及考试大纲.doc