复习一下Java

33 篇文章 0 订阅

简单的说,java是一门面向对象编程语言,吸收了C/C++的优点,摒弃了C/C++复杂的指针等内容,也不需要用户手动释放内存空间。java本身还具备了很强的可移植性,通过将源代码编译成二进制字节码,然后通过不同平台的java虚拟机来解释执行字节码,从而实行了“一次编译,到处执行”的跨平台特性。

Java的应用领域非常广泛。可以做应用系统、互联网网站、以及移动端的安卓等。

 

window环境:win7win10

 

集成开发环境安装:

初学者推荐eclipse,安装和使用都比较简单,网上也有很多教程,如window用户可以看这篇教程。下文的例子都是基于eclipse环境,但如果你使用其他IDE也完全不影响代码运行。

IntelliJ IDEA:功能强大、各类炫酷实用插件,智能化代码提示与补全,debug也很方便智能,适合开发大型项目。但是安装包很大,运行内存占用比较高,完整版收费(几百美元一年,但学生可以用教育邮箱免费申请使用资格),社区版虽然免费但是阉割了很多功能

java 第一个程序

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

相关教程:java 第一个程序

java 数据类型

 

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

相关教程 : java 数据类型

要注意的是:

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


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

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


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

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

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

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

 

java 变量

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

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


 
 
  1. double salary;
  2. int days;
  3. long population;
  4. boolean done;

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


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

 

java 运算符

 

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

相关教程:java 运算符

补充:

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

java 输入输出

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

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

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

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

标准输出流:

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

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


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

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

     补充:

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

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


 
 
  1. System.out.println( "Hello"+ "World!"); //在控制台中输出Hello world!
  2. 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++调用函数时需要声明的头文件”。现在你只需要套用模板就可以了。下面我给出个例子:


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

运行示例:

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

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

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

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

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

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

java 控制流程

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

教程循环结构分支结构

拓展: 

带标签的break语句

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

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

下面是一个伪代码示例


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

 

注意:

 

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

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

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

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

java 方法(Method)

java里的"方法"(method)可能在其他语言(如C语言)里被称为"函数"(function)。简单的说,比如你为了求两个数的最大公因数,写了好多行代码,但如果需要求好多组数的最大公因数,你可以把这些代码用一个 "{}"括起来,并起一个名字,这样当需要用的时候,按照方法名字调用即可。

教程java 方法

上述的教程看到"方法调用"的内容即可,后续的 构造方法、java值传递、以及可变参数的内容后面的教程会讲到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EricFang0001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值