Personal Learning Path of Java——Java语言基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Personal Learning Path of Java——Java语言基础相关的知识,希望对你有一定的参考价值。

  Java语言是面向对象编程语言,Java程序的基本组成单元是类,类体中又包括属性和方法两部分。每一个程序都必须包含一个main()方法,含有main()方法的类称为主类。

  如下面代码:

 1 package text;
 2 
 3 public class First {
 4     public static void main(String[] args) {
 5         for(int i=0;i<=9;i++) {
 6             for(int j=1;j<=i;j++) {
 7                 System.out.print(j+"*"+i+"="+(i*j)+"\t");   //print表示不换行输出
 8             }
 9             System.out.println();    //println表示输出后自动换行
10         
11 }
12 }
13 }

  PS:上面的代码的输出结果为一个九九乘法表(如看不懂没关系,慢慢来)。

  上面代码我们可知:程序的包为text,类为First。

  一个Java程序是由若干个类组成的(上面的First就是一个类)。语句package text为声明该类所在的包,package为包的关键字(现在并不用了解什么是包,后面再了解)。

  变量的声明

    变量分为全局变量(成员变量)和局部变量;

    在写程序中,通常将类的属性称为全局变量,将方法的属性称为局部变量。全局变量声明在类体中,局部变量声明在方法体中。上面代码中的i和j就属于局部变量 (若将变量声明在 public class First{.....}类,但不在main()里面的就称为全局变量)。

  main()方法是类体中的主方法。public static void 分别是main()方法的权限修饰符,静态修饰符和返回值修饰符。Java程序中的main()方法必须声明为 public static void 。String[] args是一个字符串类型的数组,它是main()方法的参数,main()方法是程序开始执行的位置(即程序入口点)。

  在编写Java程序时,可以通过import关键字导入相关的类(具体的这里就不详写)。

 

  基本数据类型:

      在Java中又8中基本数据类型来存放数值,字符,布尔值。

      数值型:整数类型:(byte(1字节)、short(2字节)、int(4字节)、long(8字节))   浮点类型:(float(4字节)、double(8字节))

      字符型

      布尔型

 

  整数类型:

      整数类型用来存放整数数值,也就是没有小数部分的数值。可以是正数,也可以是负数。可以用十进制,八进制,十六进制表示。(PS:以十进制表示不能用0开头、以八进制表示必须以0开头、以十六进制表示必须以0X或0x开头)

      对于long型值,若赋给的值大于int类型的最大范围值或小于最小范围值,则需要在数字的后面加L或者l,表示该数值为长整型,如long tel=18325045047L;

   下面代码为数据类型声明的实例:

  

 1 package text;
 2 
 3 public class Number {      //创建类
 4     public static void main(String[] args) {    //主方法
 5         byte mybyte=100;     // 声明byte型变量并赋值
 6         short a=12345;
 7         int b=3434343;
 8         long c=123345435;   //声明long型变量并赋值
 9         long result=mybyte+a+b+c;   
10         System.out.println("总和为:"+result);
11     }
12 }

  浮点类型:

        浮点类型就float类型和double类型。

        在定义浮点类型时,只需注意一点就是:默认情况下,小数都被看做double类型,若要定义为float类型,则要在小数后面加F或f。

  字符类型:

      字符类型(char)用于存储单个字符,占用16位(两个字节)的空间。在定义字符型变量时,要把用单引号把字符变量引起来,如:char ch=‘t‘;

      和C语言一样,Java中也可以把字符看做整数对待,只是Java中用的是uniicode编码(C语言用的是ASCII编码)。也就是,可以用int类型表示char类型,同样也可以用char类型表示int类型,如:

      

 1 package text;
 2 
 3 public class Gess {    //定义类       字符转换输出
 4     public static void main(String[] args) {       //主方法
 5         char word1=‘$‘,word2=‘@‘;    //定义char类型变量,后面将其转换为Unicode值
 6         int a1=23045,p2=45213;
 7         System.out.println("$在Unicode中的位置是:"+(int)word1);    //需要将变量以什么数据类型输出就在前面添加数据类型
 8         System.out.println("@在Unicode中的位置是:"+(int)word2);
 9         System.out.println("Unicode表中第23045位是:"+(char)23045);
10         System.out.println("Unicode表中第45213位是:"+(char)45213);
11     }
12 }

   在上面代码中,利用了数据类型的强制转换。

  布尔类型:

      布尔类型也称为逻辑类型,可以通过关键字boolean来定义布尔类型变量,但要注意只有 true和false两个值,分别表示布尔逻辑中的“真”和“假”。布尔类型不能与整数类型进行转换,常用于流程控制中用于判断条件

 

  标识符:

  标识符就相当于是一个名字,用来表示类名,变量名,方法名,数组名,文件名等。

  Java规定标识符由任意顺序的字母,下划线,美元符号($),数字组成,并且第一个字符不能为数字,标识符不能是Java语言的保留字。

  变量与常量:

    在程序中,值不能被改变的量称为常量,值能被改变的称为变量。

    变量的命名:

          1、变量名必须是一个有效的标识符

          2、变量名不可以使用Java中的关键字

          3、变量名不能重复

          4、应选择有意义的单词作为变量名(个人推荐驼峰命名法)

  声明常量:

      语法:final 数据类型  常量名[=值];

      ps:常量名通常使用大写字母表示

      如:final double PI=3.14;    final boolean BOOL=true;   命名时不要忘记打等号

  变量的有效范围:

      变量的有效范围指的是程序代码能够访问该变量的区域。

 

      成员变量:在类体中定义的变量,成员变量在整个类中都有效。类的成员变量又分为静态变量(类变量)和实例变量。

      如果在成员变量的类型前面加上关键字static,这样的成员变量就叫静态变量。静态变量的有效范围可以跨类,甚至可以达到整个程序之内。  int x=10;   static int y=10;   此处x为实例变量,y为静态变量。

      局部变量:在类的方法体中定义的变量,局部变量只在当前代码块中有效。

           在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量的生命周期取决于方法,当方法被调用时,局部变量就生效,当该方法调用结束后,局部变量也将会被销毁。

      局部变量可以和成员变量的名字相同,此时,成员变量将会被隐藏,即这个成员变量在此方法中暂时失效。

以上是关于Personal Learning Path of Java——Java语言基础的主要内容,如果未能解决你的问题,请参考以下文章

A Personal Selection of Books on E lectromagnetics and Computational E lectromagnetics---David B. Da

Learning Roadmap of Deep Reinforcement Learning

Notes of Reinforcement Learning

Advice for students of machine learning--转

Learning of DNS

Theories of Deep Learning