发表于: 2017-03-13 23:51:17
1 1681
一、今天学到的东西
今天学习了很多基础的计算机知识,以前都没有学习的很清楚的只是现在比较清楚了,对计算机的基本知识掌握进行了提高,但是效率比较低,分心比较严重整体的学习框架没有构建;
今天的学习路线是从计算机的基础知识和java的基础语法开始讲起;
1:关键字:(KeyWorld)
定义:由java赋予特殊含义的英文单词;
特点:A:必须全部为小写;
注意事项:B:使用高级编程软件关键字会有颜色;
C:goto和const作为保留字存在 ,暂时不用为关键字;
2:标识符(IDentifi):
JAVA是一门强类型语言,对于每一个数据都有对应的数据类型;
定义:标识符是用来类、接口、方法、变量等起名字的字符序列;
标识符的命名组成:
A:由英文字母组成;
B: 由数字组成;
C:由$和_组成;
注意事项:A:不能以数字开头;
B:不能是java中的关键字;
C:区分大小写;
对包(存放类的文件夹)进行标识:一般由英文小写构成,多级包的构成为(con.lzn)
对类和接口进行的标识:每个英文单词的首字母要大写;
对变量进行的标识:第一个单词首字母要小写,多个单词第二个字母开始首字母要大写;
对常量的标识:英文单词全部大写,多个单词都是用大写兵用_隔开;
3:注释(Notice):
1:对程序进行解释和说明的文字;
java的文档格式为html格式
2:注释的种类;
A:单行注释;(//)
B:多行注释;(/**/)
C:文档注释;(/** */)
3:写了一个带注释的HelloWorld案例:
/*
需求:需要实现一个HelloWo的输出,需要调用一个控制台;
分析:
首先定义一个类;
需要一个主函数main对JVM进行调用;
输出语句;
实现:使用class定义一个类,后面跟类名HelloWorld;
定义main函数;
使用输出语句;
*/
class HelloWorldDemo;
public void main(String[] args){
System.out.println("HelloWorld");
}
4:注释的作用:提高程序的阅读性;
对程序的bug进行调试;
4:常量:
定义:程序的执行过程中不会发生改变的值;
类型:A:字面值常量:
A:字符串常量 "hello"
B:整数常量 12,23
C:小数常量 12.345
D:字符常量 'a','A','0'
E:布尔常量 true,false(不参与数据转换)
F:空常量 null(后面讲)
B:自定义常量:(后面才会讲)
注意事项:常量不能改变
5、进制:是数字按照一定进位形式表现的数字。(逢X进1)
分类:常见的进制有四种:二进制(有0、1组成,以0b开头,第二种形式为(123B));
八进制:(由0.。。7组成,以0开头);
十进制:(由0.。。9组成默认的表现就是十进制)
十六进制:(由0.。。9、a,b,c,d,e,f组成,以0x开头);
转换:
X进制转换为十进制:
A:进制转换有三个要素:
系数:在位数上的数就是系数;
基数:X进制的基数为X;
权:数从右到左由零开始的编号为权;
十进制 = 系数*基数^权次幂
十进制转换为X进制:
十进制数/基数反向取余数为X进制;
X进制到y进制的转换思想:
X进制——十进制——y进制
进制转换的快速转换法
A:十进制和二进制间的转换
8421码。
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
简称8421码转换;
B:二进制到八进制,十六进制的转换
6、变量:
定义:在程序运行过程中,能在有限空间内改变它的值叫变量;
格式“
数据类型 变量名 = 初始化值;
数据类型 变量名;
变量名 = 初始化值;
要素:
A:数据类型:Java是一种强类型的语言,每个数据都规定了其相应的数据类型;
分类:a:基本数据类型:四类八种;
b:引用数据类型:类、接口、数组;
基本数据类型:
A:整数型变量:byte、short,int,long;
B: 浮点数型变量:folat,double;
C: 字符变量:char;
D: 布尔型变量:boolean;
注意:
A:java默认输出的整数型是int型,浮点数是doble型,系统默认允许从小换大的类型转换;
B:长整数要在数后面加L或者l;
C:单精度浮点数要在后面加F或者f;
数据类型的转换:
A默认转换:
1、byte,short,char--int--folat--dobule;
2、其中byte,short,char是不可以互相转换的,直接转换成int类型参与运算;
B强制转换:
1、从大到小;
2、格式为:
目标数据类型 变量名 = (目标数据类型)(被转换的数据类型)
3、强制转换可能丢失精度运算;
(4)思考题和面试题:
A:下面两种方式有区别吗?
float f1 = 12.345f;
float f2 = (float)12.345;
答:有区别。
f1=12.345;
f2=12.3;
B:下面的程序有问题吗,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
有问题:
byte b3=b1+b2;因为做运算的时候,b1,b2先进行转换为int类型;然后byte类型赋值的是int类型
所以不正确;
而b4的程序是先运算出结果,在看值是否在byte范围内,如果在就正确所以没问题。
C:下面的操作结果是什么呢?
byte b = (byte)130;
下面的操作结果为:
需求:输出byte130的值;
分析:byte的取值范围为-128~127,超出了取值范围所以不能直接输出;
计算机的所有运行都是由补码来进行的,要想运算就得得到130的补码;
先求出补码,在转换为原码得出结果。
实现:130 = 00000000 00000000 00000000 10000010;(截取byte类型,得到的是补码)
符号位 数值位
补码: 1 0000010
反码: 1 0000001
原码: 1 1111110
所以输出的结果是:-126
D:字符参与运算
是查找ASCII里面的值
'a' 97
'A' 65
'0' 48
System.out.println('a');
System.out.println('a' + 1);
E:字符串参与运算
+有代表字符串的连接,这里其实是字符串的连接
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
二、遇到的问题:
今天的java安装很有问题,就先放着了,把原先的基础巩固了一遍。
遇到的问题就是关于基础的,几个java面试题、
数据类型转换:
隐式转换:
强制转换:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
三:明天计划的事情:
继续看一看基础的东西,很多东西感觉忘的差不多了。- -
四:收货:
巩固的东西都是为自己以后的道路做铺垫,所以最基础的东西我们不能把它舍弃,明天体检,加油把事情弄好就看书,
评论