6#day2总结
一次小小的总结https://github.com/DuGuQiuBai/Java/blob/master/day02/day02%E6%80%BB%E7%BB%93.txt
1:常量(掌握)
(1)常量:在程序的运行过程中,其值不发生改变的量。
(2)常量的分类:
A:字面值常量
B:自定义常量(面向对象部分讲)
(3)字面值常量
A:字符串常量 用""括起来的内容。举例:"helloworld"
B:整数常量 举例:1,200
C:小数常量 举例:12.5
D:字符常量 用''括起来的内容。举例:'a','A','0'
E:布尔常量 比较特殊,只有两个值。举例:true,false
F:空常量 null(数组部分讲)
(4)Java中针对整数常量的表现形式
A:二进制
由0,1组成。以0b开头
B:八进制
由0,1,2,3,4,5,6,7组成。以0开头
C:十进制
由0,1,2,3,4,5,6,7,8,9组成。默认是十进制。
D:十六进制
由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成。以0x开头。
注意:字母不区分大小写。
2:进制(理解)
(1)一种计数的方式。x进制表示逢x进1。
(2)进制转换
A:其他进制到十进制
系数*基数^权之和。
B:十进制到其他进制
除基取余,直到商为0,余数反转。
C:快速转换
a:二进制和十进制
8421码
b:二进制和八进制
三位组合
c:二进制和十六进制
四位组合
D:任意X进制到任意Y进制的转换
可以使用十进制作为桥梁即可。
3:有符号数据表示法(理解)
(1)计算机中数据的存储和运算都是采用补码进行的。
(2)数据的有符号表示法
用0表示正号,1表示负号。
A:原码
正数:正常的二进制
负数:符号为为1的二进制
B:反码
正数:和原码相同
负数:和原码的区别是,符号位不变,数值位取反。1变0,0变1
C:补码
正数:和原码相同
负数:反码+1
(3)数据的有符号表示法练习
A:已知原码,求反码和补码
B:已知补码,求原码。
(4)补充:float浮点数在计算机中的表示
符号位 指数位 底数位
S E M
3:变量(掌握)
(1)变量:在程序的运行过程中,其值发生改变的量。
(2)定义格式:
A:数据类型 变量名 = 初始化值;
B:数据类型 变量名;
变量名 = 初始化值;
4:数据类型(掌握)
(1)数据类型分类
A:基本类型:4类8种
B:引用类型:类,接口,数组
(2)基本类型
A:整数 占用的内存空间
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1
面试题:Java中的字符可以存储一个汉字吗?为什么呢?
(3)注意事项:(特别注意)
A:整数默认是int类型,浮点数默认是double类型(运算中一定要特别注意隐式转换)
B:定义long类型数据的时候,建议加上L或者l。推荐L
定义float类型数据的时候,建议加上F或者f。推荐F
(不加f或F编译会报损失精度的错误)
(4)使用变量的注意事项
A:作用域
每一个变量在它所属的大括号内有效,并且,同一个作用域不能定义同名的变 量。(for循环()中定义的变量与在for{}中定义有相同的作用域)
B:初始化值
变量必须先声明,赋值,最后才能使用
C:在一行上定义的问题
可以在一行上定义多个变量,但是不建议。
int a,b;
a = 10;
b = 20;
int a = 10,b = 20;
int a = 10;
int b = 20;
5:类型转换(掌握)
注意:
boolean类型不参与。
(1)隐式转换:从小到大
byte,short,char --> int --> long --> float --> double
long为什么可以到float呢?
A:因为long和float的底层存储结构不同。
B:数据范围
long: 2^63
float: 3.4*10^38
3.4*10^38 > 3.4*8^38 = 3.4*2^3^38 = 3.4*2^114 > 2^63
(2)强制转换:从大到小
一般不建议这样做,因为可能有精度的损失。
格式:
目标数据类型 变量名 = (目标数据类型)(被转换的数据);
6:运算符(理解)
(1)运算:对常量和变量进行操作的过程称为运算。
(2)运算符:对常量和变量进行操作的符号称为运算符
(3)表达式:由运算符把常量和变量连接起来的式子
注意:表达式必须有结果
7:算术运算符(掌握)
(1)+,-,*,/,%,++,--
(2)+:
正号
加法
字符串连接符
(3)%和/的区别
%:余数
/:商
整数相除,结果是整数。想得到小数,可以乘以或者除以1.0
%的结果的符号和前面的那个数一致。
(4)++,--
A:单独使用
放在数据的前面和后面效果一样。
B:参与操作使用
放在数据的前面,先数据变化,再参与运算。
放在数据的后面,先参与运算,再数据变化。
C:++,--的练习题。
8:赋值运算符(掌握)
(1)=,+=,-=,*=,/=,%=,...
(2)基本用法
int a = 10;
把10赋值给int类型的变量a。
(3)复合用法
int a = 10;
a += 20;
值等价于:a = a + 20;
把左边和右边的结果赋值给左边,并强制转换为左边的类型。
(4)面试题
short s = 1; s = s + 1;
short s = 1, s +=1;
哪个有问题。
9:关系运算符(掌握)
(1)==,!=,>,>=,<,<=
(2)注意:
A:无论表达式简单还是复杂,结果肯定是boolean类型
B:千万不要把"=="写成"="
10:逻辑运算符(掌握)
(1)&,|,^,!,&&,||
(2)单用法
&:有false则false
|:有true则true
^:相同false,不同true(情侣关系)(交换两个变量的值的四种方式)
!:偶数个,值不变;奇数个,值相反。
(3)双用法:
&&,||和&,|的区别
&&具有短路效果,左边为false,右边不执行。
||具有短路效果,左边为true,右边不执行。
6#day2总结的更多相关文章
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- java day2一个模拟双色球的代码
package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
- 冲刺阶段 day2
day2 项目进展 今天本组五位同学聚在一起将项目启动,首先我们对项目进行了规划,分工,明确指出每个人负责哪些项目.由负责第一部分的组员开始编程,在已经搭建好的窗体内,对系部设置进行了编写,本校共六个 ...
- python_way ,day2 字符串,列表,字典,时间模块
python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- Spark菜鸟学习营Day2 分布式系统需求分析
Spark菜鸟学习营Day2 分布式系统需求分析 本分析主要针对从原有代码向Spark的迁移.要注意的是Spark和传统开发有着截然不同的思考思路,所以我们需要首先对原有代码进行需求分析,形成改造思路 ...
随机推荐
- thread - 传递引用参数
当给 thread 的执行函数传递指针参数时,没有任何问题,但是如果想传递引用,按照普通函数的调用方法会遇到编译失败: #include <iostream> #include <t ...
- oracle下查询的sql已经超出IIS响应时间
场景: 最近一直发生oracle下查询的sql已经超出IIS响应时间,但是后台DB的SQL查询还未终止,一直在查询.这对DB是造成很大的压力. 解决办法 增加OracleCommand 中的Comma ...
- SQL反模式学习笔记6 支持可变属性【实体-属性-值】
目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需 ...
- Python的类及单例实现
一.使用@property @property 的作用 将一个get方法变成一个属性 class
- ECMAScript 6 字符串的扩展
1.字符的Unicode表示法 ① JavaScript允许采用\uxxxx的形式来表示一个字符,其中xxxx表示字符的Unicode码点. 但是,这种表示方法有一个局限性,它的码点只能在\u0000 ...
- SVN 提示clean up 进入死循环
SVN在使用update命令时,提示使用“clean up ”命令,在使用clean up命令时报错“Previous operation has not finished; run 'cleanup ...
- h5 canvas与SVG的比较
画布 什么是canvas? HTML5的canvas标签使用JavaScript可以在网页上绘制图像,画布为一个矩形. 画布本身没有绘制能力,只能通过脚本来绘制. 画布例子: <canvas i ...
- docker容器和本机互传文件
首先需要确定docker容器的container_id,可以使用docker ps -a 查看你要操作的docker容器的container_id docker容器向本机传送文件 docker cp ...
- python 配置文件返回的两种方式,写法不一样而已
配置文件如下: [MODE]mode:{ "register":"all"} 或者 mode = {"register":"all ...
- hive时间日期函数及典型场景应用
1.hive取得当前日期时间: 1.1) 取得当前日期: select current_date(); 1.2) 取得当前日期时间: select current_timestamp(); 1.3) ...