JAVA基础知识

    xiaoxiao2022-07-03  175

    java 环境配置

    "工欲善其事,必先利其器",学习java首先要配置java运行所需要的java环境,这个网上也有很多教程了,我也不详细讲了。

    java环境配置教程:window、Linux、Mac。

    集成开发环境安装:新手推荐eclipse,安装和使用都比较简单,网上也有很多教程,如window用户可以看这篇教程。

    很多初学者配置环境时都会遇到一些莫名的问题,大部分都是因为jdk的路径问题引起。所以大家配置环境的一定不能照搬教程里的路径,要根据自己电脑里的jdk路径来配置。如果配置环境出现问题,这时候可以根据报错信息等百度看下原因。实在不行,可以 根据教程“重新配置环境”,这个方法可以解决大部分问题。(eclipse 不能正常运行也可以试试卸载重装。。)。其次也可能和jdk的版本及eclipe版本有关,下载的时候一定要根据你所使用的系统的版本来选择jdk版本和eclipse的版本,否则就会出错.

    这里我还要补充的是 有关java专业的一些术语:

    JRE(Java Runtime Environment):运行Java程序的用户使用的软件,包含了java虚拟机却不包含编译器。

    JDK(Java Development Kit):编写java程序的程序员所使用的开发工具包,JDK里包含了JRE。

    Server JRE :在服务器上运行java环境的软件

    SE (Standard Edition):用于桌面或简单服务器应用的java平台。(我们现在正在学习的)

    EE(Enterprise Edition):用于复杂服务器应用的java平台。

    ME(Micro Edition): 用于手机和其他小型设备的java平台。

    J2(Java 2):一个过时的术语,用于描述1998~2006之间的java版本。

    SDK(Software Development kit):一个过时的术语,用于描述1998~2006之间的JDK。

    到这里,默认你已经成功配置好了环境,成功运行了eclipse。

    (备注:1、eclipse默认是英文的,但也提供了中文语言包,下面有些教程的eclipse界面是中文的,但是笔者建议读者使用英文版,毕竟使用英文版软件、系统是一个程序员必须要学会习惯的

    2、如果你不想用eclipse,完全可以选择其他你喜欢开发环境,如NetBeans和IntelliJ IDEA都是很棒的开发环境。)

    java 第一个程序

    下面开始练习用eclipse来写出你的第一个java程序,通过这个小程序你可以了解java最基础的语法,以便我们后续的学习。不要小看这个程序,几乎所有java程序都有这样的声明格式。

    相关教程:java 第一个程序。

    java 数据类型

    java 是一门强类型的语言。这意味着必须为每一个变量声明一种类型。在java中一个有8种基本类型,四种整型(byte,short,int,long),两种浮点(float,double),一种字符类型char,一种用于表示真值的boolean型。

    相关教程 : java 数据类型。

    要注意的是:

    1. 读者后面会接触到一个字符串类型String,每个用双引号括起来的字符串都是String类型的实例,如:

    String e = "";//一个空字符串 String hi= "hello";

    但是,String不是基本类型, 是标准java类库提供的一个预定类(类和对象的概念后续会讲到)。两个String类型相加的效果为两个字符串的拼接:

    String m = "abc"; String n = "def"; String p = a+b;//p = "abcdef"; int i=13; String p = "abcdef"+i;// p="abcdef13"; 13被自动转换成字符串处理

    关于String的用法先简单了解下,后面等学习了对象和类的概念,我们再回头来了解下String类型。

    2. 在C语言里,可以用整数1和0代表代表布尔值true和false,但是,在java里,整数值和布尔值不能进行相互转换。

    3. 在java中,所有的数值类型所占据的字节数量与平台无关(int 永远占4个字节,long永远占8个字节)。

    java 变量

    学完了数据类型,我们来学变量。

    在java中,每个变量都有一个类型。声明变量类型时,变量的类型位于变量名之前,如:

    double salary; int days; long population; boolean done;

    相关教程:java 变量

    由于读者没有学习到修饰符及对象和类的相关知识,上面的教程可能会有些看不懂,但不必担心,我们这个小节学习的是变量,后面会讲到其他相关的知识。

    这里还想做几点补充:

    1. 变量的类型除了前面所讲八大基本类型,还可以是类名(如String 就是标准包里的一个类的名称)。

    2. 变量的命名规则:

    (1)变量名必须是一个以字母开头并由字母或数字构成的序列,且不能包含空格和java保留关键字。

    (2)尽量使你的变量名有意义,容易一眼看出它本身所表达的意义,避免使用a,b,c等无意义的变量名。推荐使用驼峰命名 法来规范变量名。

    3.在C/C++里区别变量的声明和定义,但是在java中,不区分变量的声明与定义。

    int i=10;//是一个定义 extern int i;//是一个声明

    java 运算符

    学习了数据类型及变量,下面我们就来了解下数据之间是怎么进行运算的.

    相关教程:java 运算符

    补充:

    任何数除以0,在运行过程中会抛出一个异常(java异常机制后面也会讲到,这里可以先理解成报错),负数的平方根的结果为NaN(不是一个数字)。

    java 输入输出

    为了增加后面示例程序的互动性,需要程序能够从控制台接收输入(标准输入流),并在控制台中以适当的形式输出(标准输出流)。

    这里要补充一个知识点:在java里,点号( . )用于调用方法(在C语言中被称为的函数)。通用的语法为:

    obeject.method(parameters);//这里表示的是调用了名为object对象的method方法,括号里是方法的参数

    注意,对于一个方法,即使是没有参数也需要使用空括号

    标准输出流:

    打印输出到“标准输出流”(即控制台窗口)是一件非常简单的事情。

    在我们学习的java的第一个程序时,我们已经接触了标准输出流,并在控制台中输出了“Hello World!”。

    { System.out.println("Hello World!"); }

    在这里,使用了System.out对象并调用了它的println方法并传递给他一个字符串参数(“hello world”)。println方法可以将传递给它的参数显示在控制台上。每次调用println都会在新的一行显示输出(如果想在输出后不换行,可以使用println,如System.out.print("hello");)。

    补充:

    1.调用println方法也可以不传递参数,此时,将打印一个空行。

    2.括号内可以使用“+”拼接字符串,实际上我们经常这么使用。

    System.out.println("Hello"+"World!");//在控制台中输出Hello world! System.out.println("H"+"e"+"l"+"l"+"o");//在控制台中输出Hello

    标准输入流:

    标准输出流很简单,但是读取“标准输入流”System.in就没有那么简单了。

    首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。(构造函数和 new操作符在下一篇教程讲到)

    Scanner in = new Scanner(System.in);

    其次,你还要在程序的最开始添加上一行:

    import java.util.Scanner;

    这句话的作用是:引入java.util包下的Scanner类。这句话现在不理解完全没没关系,你可以暂时理解成“类似C/C++调用函数时需要声明的头文件”。现在你只需要套用模板就可以了。下面我给出个例子:

    import java.util.Scanner; /** *标准输入输出流的简单实例 */ public class Test { public static void main(String[] args) { //构造一个Scanner对象,命名为 in (你完全可以选择其他名字),并与System.in关联 Scanner in = new Scanner(System.in); //标准输出流 System.out.println("what is your name?"); //调用nextLine方法,从控制台读取一个字符串,并赋值给name; //值得说明的是,从方法名上看,nextLine可以读取一行内容,实际上也是这样的,你可以输入一个很长很长的字符串,直到你敲下回车键。 String name = in.nextLine(); //同样,读取一个整数,并赋值给age System.out.println("How old are you"); int age = in.nextInt(); //打印刚刚输入的信息 System.out.println("your name:"+name+" your age:"+age); } }

    运行示例:

    补充:想要读取不同的数据类型,需要调用不同的方法,

    nextLine() 读取输入的下一行字符串,可以包含空格(遇到Enter键视为结束符)

    next() 读取输入的下一个字符串(遇到空格键、Tab键或Enter键视为分隔符或结束符)

    nextInt() 读取输入的下一个整数

    nextDouble() 读取并转换下一个表示整数或浮点数的字符序列

    类似的,还有next.Byte(), nextFloat , nextLong(), nextShot()方法,可以根据名字得出用途

    java 控制流程

    和任何其他程序设计语言一样,java使用条件语句和循环语句确定控制流程。

    教程:循环结构,分支结构

    拓展:

    带标签的break语句

    与C/C++不同,java提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。有时候在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能会更加希望跳到嵌套的所有语句之外,但是添加一些额外的条件判断实现各层循环的检测很不方便,这是使用带标签额break语句就很方便了。

    注意:标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号(:)。

    下面是一个伪代码示例

    Scanner in =new Scanner(System.in); int n; read_data: //该标签标记的整个while语句块(即从while的大括号开始,到大括号结束) while(...){ ... for(...){ n=in.nextInt(); if(n<0) break read_data; // 通过执行带标签的break跳转到带标签的语句块的末尾 } } //break后,程序跳到这里并向下继续运行 if(...){ .... }

    注意:

    1. 带标签的break语句很容易让人想起C语言的goto语句,但是java虽然把goto当成保留字符,但却没有提供任何用法。

    2. 这个方法只能跳出语句块,而不能跳入语句块。

    3.可以将标签应用到任何语句中,甚至可以应用到if语句或者块语句中。

    (块是指由一对大括号括起来的若干条简单java语句)

    最新回复(0)