这是一个简单的开始,希望自己坚持下去每天都写一点;
C语言C++与Java学习联系起来学习Java;我写这个也是希望要学习Java的同学,要是觉得很难可以试试这样的方式结合来学习Java,或许学着学着就会了。当然,也可以看看我另一个我博客的总结;
我是Java总结博客
初衷:我个人一个习惯,一旦学习一样新的东西时,我就会习惯的将之前所学的东西联系起来,这样我不仅可以让我学得更轻松,也会让我觉得这个学习过程变得很有意思。当然,也是因为我的懒;最近一个多月,我主要的精力都放在了学习算法上面,所以,我就没有很多时间去学习其它的东西。
参考文献及其它:
Java书,百度,博客;
最简单的C语言程序
#include<stdio.h>//这个是头文件
int main()//主函数//
{
printf(“hello world!\n”);//输出语句
return 0;//结束程序
}
对应Java的程序
package RTFIL;//这个是包
public class hello { //公共的类
public static void main(String[] args) {//主方法
System.out.println("Hello world!");//输出语句
}
}
在这里补一下什么是包:创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
在这里因为时间关系先不补其它知识;(以后在填坑)
定义类时,类中怎么没有定义主函数呢?
注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。
对于 public static void main(String[] args)
(1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。
(2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
(3)void关键字表明main()的返回值是无类型。
(4)参数String[] args,这是本文的重点。
正如C语言我们知道了它怎么输入输出,那么知道了java 的输出是什么,我们肯定也会想着Java是怎么输人的呢?;
C语言:简单A+B;
#include<stdio.h>
int main()
{
int a,b,sum;//定义整型
scanf("%d%d",&a,&b);//输人两个实数
sum=a+b;//进行a+b;
printf("%d\n",sum);
return 0;
}
java不像C中拥有scanf这样功能强大的函数,Java大多是通过定义输入输出流对象。常用的类有 BufferedReader,Scanner。
1、利用 Scanner 实现从键盘读入integer或float 型数据
2、利用 BufferedReader实现从键盘读入字符串并写进文件abc.txt中
3、Scanner和BufferedReader的区别
在命令行模式下要输入数据至程序中时,我们可以使用标准输入串对象System.in.但是,我们并不经常直接使用它,因为System.in提供的 read方法每次只能读取一个字节的数据,而我们平时所应用的通常是读取一个字符串或者是一个数字,所以read方法所以提供的功能,对我们来说并没有太大的用处.
在Java SE 6中,可以使用Scanner类取得用户的输入,Scanner类位于java.util包中,如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner;这条语句.import的功能是告诉编译器,你将使用java.util包中的Scanner类.
Java的a+b;
package RTFIL;
import java.util.Scanner;//import的功能是告诉编译器,你将使用java.util包中的Scanner类.
public class hello {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//定义一个输入流,要注意的是,这个输入是 **可以用很多次的** ,不用一次就定义一次。
int a,b,sum;
a=sc.nextInt();//输入一个整型的整数a;
b=sc.nextInt();
sum=a+b;
System.out.println(sum);
sc.close();//结束输入,如果去掉这个也可以,但是会有警告,意味着程序在等待着你输入。
}
}
小结:
在这里我先说一下,一开始我学习C语言的输入输出时,就是很自然的打多几次,之后就能习惯的用出来了;根本不会去想这是什么英文,又或者是什么意思,没必要。说一个简单的,我们一开始喝水,用水,也根本不知道水是H2O,有具有什么性质,但我们去用它几次就能体会它的特性或者说作用。其实对与这类简单的知识,我们学习时也不必非要了解很深,我们很多东西只需要知道它这样用可以得得到这样的效果就可以了。
另附import的作用:
1,加载已定义好的类或包
**2,**导入支持类(可以是JDK基础类或者自己编写的类),可以供本类调用方法和属性。 import导入声明可分为两种导入声明:
单类型导入(single-type-import) 例:import java.util.ArrayList;
按需类型导入(type-import-on-demand) 例:import java.util.*;
以这样两种方式导入包中的任何一个以这样两种方式导入包中的任何一个以这样两种方式导入包中的任何一个以这样两种方式导入包中的任何一个public的类和接口的类(只有public类和接口才能被导入类和接口)