【Java的自我反省】

目录

前言

一、啥是Java

二、系统化学习

1.注释

2.常量

3.数据类型

4.变量

5.标识符

6.类型转换(基本数据类型转换)

7.运算

8.小练一下

总结


前言

        本文章主要是个人在学习Java过程中的思考以及笔记,正如标题所言,这是一篇“反省”。

(写这篇文章时也是刚刚接触Java,在此之前学习过C语言)


一、啥是Java

        刚刚接触C语言时,我一直在问一个问题:啥是C语言。近期开始学习java,又再问“啥是Java”,依据这个问题,网上给了很多版本的介绍。

        比如我们看百度百科的解释:16e2530f86cc4c52a0128ff6ceab9440.png———Java(计算机编程语言)_百度百科 (baidu.com)

        很显然,这个解释过于官方,起码本人读完第一句就不想继续读下去了。

        看过“官方”解释后,我来谈谈我对于Java的非“官方”解释(主要是个人理解,多少不够严谨或者正确):

                首先,java语言,不止是java语言,还有c语言,c++,它们都属于语言,什么是语言,像是英语,汉语,法语等都是语言,这些语言最重要的功能便是交流,只不过我们日常生活中所使用的语言是人与人之间的交流,而java语言是用于人与计算机的交流。举一个例子,当你去银行存款时,身上有1000w的现金,在没有遇见抢劫并成功到达银行的情况下,你就会去找业务员办理存款业务,你会说“我要存1000w”,此时业务员便能够理解并执行,但对于计算机而言,你直接说要存钱,它是听不懂的,那么如何让他听懂并执行那,这就用到了java语言,java语言需要人工按照java规则的语法结构输入指令,使得计算机能够明白下一步的操作。输入过程即敲代码,当一个代码完成以后,计算机便明白你的意图,并开始执行。

        打招呼大家都会,人与人之间直接张口说便是,但是计算机不是,如上所述,必须先让计算机听懂,在java语言中,相信大家第一个代码都是“Hello world”:

public class Hello {
    public static void main(String[] args){
        System.out.println("Hello world");
    }
}

         就这样,计算机会执行并打印出“Hello world”。这就是java的作用,将个人思想通过java语言传递给计算机。

二、系统化学习

1.注释

        注释就像是一种说明书,在生活中注释无处不在,像药品说明书,衣服洗洁说明等,在java语言中也存在注释:

6174b1189a3647139ec3a5e19c333372.png

在java语言中,注释有三种方法:

1.单行注释:单行注释是以“//”开头,后面加上所描述的内容

716b68b1b23540dfb3173197debb136f.png

2.多行注释:多行注释是以“/*”开头,中间加所述内容,以“*/”结尾

3.文档注释:文档注释以“/**”开头,以“*/”结尾

           /**

                * 功能:。。。。。

                * 作者:。。。。

            */

 实际应用如下:

public class zhushi{
    /**
        主方法
    */
    public static void main(String[] args){
        int a,b,sum; // 声明三个整型变量
        /*
            输入部分,直接赋值
        */
        a = 123;
        b = 321;
        // a 和 b 求和
        sum = a + b;
        //输入变量sum的值
        System.out.println("sum = " + sum);
    }
}

总的来说,注释是为了更好的梳理思路,以及便于读懂所写代码的意思。 

2.常量

如其名,就是固定不变的量,在代码中不会被改变的量。

具体如下:

常量类型说明举例
字符串常量“”双引号中的内容“Hello world”
整数常量不带小数点的数666
字符常量‘’单引号中的内容‘a’
小数常量带小数点的数666.666
布尔常量真或假(true or false)true or false
空常量空值null

public class ChangLiang{
    public static void main(String[] args){
        System.out.println("Hello world");  //字符串常量
        System.out.println(“-----------”);
        System.out.println('A');            //字符常量
        System.out.println(“-----------”);
        System.out.println(666);            //整数常量
        System.out.println(“-----------”);
        System.out.println(666.666);        //小数常量
        System.out.println(“-----------”);
        System.out.println(true);           //布尔常量
    }
}

3.数据类型

说到数据类型,应当先补充一下计算机存储单元的知识:

计算机常见的存储单位有 bit, byte, KB, MB, GB, TB,其中最小的单位“bit”,我们叫做位,是计算机存储设备的最小信息单元,计算机中最小的单元为byte(字节),简称为B,一个字节八个位。

        1B(byte 字节)=8bit,
   1KB (Kilobyte 千字节)=1024B,
   1MB (Megabyte 兆字节 简称“兆”)=1024KB,
   1GB (Gigabyte 吉字节 又称“千兆”)=1024MB。

以上是计算机存储单元的知识的一些知识,回归此模块数据类型:

32fd352135f94e229296a84523d55dee.png

数据类型关键字占用内存
整形byte1
short2
int4
long8
浮点数float4
double8
字符char2
布尔boolean1

对数据类型的个人理解:在java程序中,我们在定义一些变量或数组或常量的时候,就要根据需求运用不同的数据类型,好比 int a;这个语句,int数据类型就像是姓,而a则是名,将整体看成一个完整的名字,叫做 int a。

4.变量

在前面我学习了常量,在一个代码中,我可以用print函数打印一个常数,例如:

System.out.println(10);

 但如果我像改变输出的值,一种方法是直接改变println中的数值,比如我想将10改成30,则可以:

System.out.println(30);

但如果是100个println语句,一个一个改必然麻烦,在此,我们引出变量:

变量:在程序运行中,可以改变的量。顾名思义,就是可以变的量。

那么变量如何使用呢?我们来看一个代码:

public class BianLiang{
    public static void main(String[] args){
        int a;
        a = 10;
        System.out.println(a);
    }
}

这个代码中,print语句没有直接输出10,而是将10先赋值给a,然后在输出a,此时的a的意义也已经发生改变,所以电脑最后打印出的值也是10,在这里a便是一个变量,我们可以将不同的值赋值给a,最后在print语句中输出。这么说或许有一些笼统,举一个例子吧,我们有一个房间,房间为a,当你获得这个房间的钥匙的时候,你就可以进去这个房间,倘若有人来找你,可以直接去房间a,同理,任何一个获得a房间钥匙的人都可以进入这个房间,那么这个钥匙如何获得,当然看你的心情,钥匙在你手中,你可以在不犯法的情况下分配个任何满足条件的人。 

当我们想要修改时:

public class BianLiang {
    public static void main(String[] args){
        int a;
        a = 10;
        System.out.println(a);
        a = 30;
        System.out.println(a);
    }
}

输出结果为: 

4c9a226115a44f2f9b11f01ecd8e9e01.png

 可以看到a的值由10变为了30,变量a的值随之改变了。

5.标识符

官方标识符的解释为:

201ed94c279b45efac6c4640db02b22f.png

——标识符(标识某个实体的符号)_百度百科 (baidu.com) 

在我看来标识符就是用来识别的,它就是给类,方法,变量起名字的,至于类和方法后面会提到,不用钻牛角尖。

在百度百科给出的解释中,提到标识符是由字母,数字,下划线,汉字和美元符号组成的,特别注意第一个字符不可以是标识符,Java中的关键字也不可以是标识符。关键字?诸如public,class这种。

我们说像bj,_666这样的便是合法标识符,但是像class,public,6hjk这样的就不是合法标识符。

至于命名法有大小驼峰法,这个可以自己了解一下。

6.类型转换(基本数据类型转换)

类型转换想的变态一点就像是做变形手术,不仅外形改变,内在也发生变化。

在java中,存在自动类型转换和强制类型转换:

自动类型转换:

这种转换在程序运行中不会报错,系统会自动转换成正确的数据类型,我们是看不到的

在类型中,由小到大以此为:

e7acbd7c4aaf4c94b9bb2b49480884e0.png

遵从原则如下:

小转大;整转浮,有误差;符升级,整下来。(个人总结)

具体解释为:小的自动转换为大的,整数类型转成浮点数时会存在误差,字符型可以自动升级为整数型。
直接写一个整数,默认是int型。但如果它的范围在byte,short表数范围之内,而且程序直接将它赋给byte,short类型的变量,系统会自动把它当成byte,short用;所有数值型,都可以自动转换为double类型;所有数值型,除了double之外,都可以自动转换为float型;所有整型都可以自动转换为long型,依次向下。

比如说:

byte a = 10;
int b = a + 10;
public.out.println(b);

此代码在运行中就会将byte类型转换为int类型,并进行运算输出b的值。

7.运算

运算有好多,有赋值运算,加减运算,逻辑运算和关系运算。

先说一些需要用到的知识,在运算中,“=”叫做赋值,而真正的等号是“==”,并且在输出语句中,我们可以用“+”连接字符串或者数据或者字符。

public  class BasicKnowledge {

    public static void main(String[] args) {
        int i;
        int j;
        for(i=1;i<=9;i++){
            for(j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+ i*j +"\t");
            }
            System.out.println();
        }
    }
}

在这个代码中,print语句中的“+”就是用来连接“i”和“j”的,以便输出结构是“i*j”的形式:

6ff2e022218e41a285b89c1adce5649e.png

如果没有“+”连接的话,情况如下:1e9b17ac73204f5ebe60a574411e260c.png

编译器就会报错。

然后就是算数运算符:

在java中,算术运算符有下列几个:

运算符名称运算符符号举例
+1+1
-1-1
*1*1
/7/2
取余%7%2

加减乘不需要多数,特别说一下除和取余,在除中,系统默认结果为整数,“7/2”的结果应该是3.5,但系统只会输出3,而取余运算的意思就是取除未尽的数,7%2的结果为1(即结果为3余1,取余数1):

public  class BasicKnowledge {

    public static void main(String[] args) {
        int a = 7;
        int b = 2;
        int c = 7/2;
        int d = 7%2;
        System.out.println(c);
        System.out.println(d);
    }
}

结果如下:

36fcae5ddffe4563bd39dee360ae2488.png

了解了以上,我们来说一说赋值运算:

赋值运算:

public  class BasicKnowledge {

    public static void main(String[] args) {
        int a = 7;  //将7赋值给a
        System.out.println(a); //输出a的值为7
    }
}

前面我们说过代码中的“=”读作赋值,在我看来,赋值就是将一个定义的字母(int a)变为一个数,但是名义表面上还是那个字母。

这个的输出结果就是“7”.

自增自减运算:

自增(++)和自减(–)运算符是一种特殊的算术运算符,自增自减运算符是一个操作数。

public class ZI{
    public static void main(String[] args){
        
     //定义一个整型变量a,并赋值为99
     int a=99;
     //定义一个变量b,做自增运算
     int b=++a;//结果为100
    //定义一个整型变量a1,并赋值为8
     int a1=8;
     //定义一个变量b1,做自减运算
     int b1=--a1; //结果为7
     
    
    }
 
}

让我们来看一下过程:

int b = ++a; 过程为: b=a+1=99+1=100; a=b=100, 最后结果为b=100,a=100

int  b1 = --a1; 过程为: b1=a1-1=8-1=7;a1=b1=7, 最后结果为b1=7,a1=7。

综上为:后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算 。

 关系运算:

java中的关系运算,其结果为boolean类型,无非是ture或是false;

名称运算符
大于>
小于<
等于==
不等于!=
大于等于>=
小于等于<=

public class Ljys {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        System.out.println(a > b);   //  false
        System.out.println(a >= b);  //  true
        System.out.println(a < b);   //  false
        System.out.println(a <= b);  //  true
        System.out.println(a == b);  //  true
        System.out.println(a != b);  //  false      
  
    }
}

8.小练一下

1.比较体重:甲重160斤,乙重140斤,用程序比较体重是否相等?

public class lianxi {
    public static void main(String[] args) {
        int a = 160;//输入甲的体重
        int b = 140;//输入乙的体重
        
        boolean jiehuo=a==b?ture:false;
        /*
            用三元运算符进行判断
        */
        System.out.println(jiehuo)//打印结果
    }
}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值