发表于: 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;有没有问题?有问题如何解决?结果是多少呢?

三:明天计划的事情:

继续看一看基础的东西,很多东西感觉忘的差不多了。- -

四:收货:

   巩固的东西都是为自己以后的道路做铺垫,所以最基础的东西我们不能把它舍弃,明天体检,加油把事情弄好就看书,



返回列表 返回列表
评论

    分享到