因为java语言的语法与C语言和C++语言很接近,此外,,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。现在发现 很多时候java调用包很方便,但是因为自己本科java就水水就过去了,基本上属于不会,所以抽空学习一下基础java操作。
关于class有如下几点规则:
文件的名字必须和class的名字一致(public级别的class名字)。文件必须只包含一个public访问基本的class(可以包含多个非public级别的class)。
命名规则:
包(其实就是文件夹,用于解决相同类名问题):包名要求全部小写,一般是公司的域名倒着写 com.heima.包的作用类或者接口:如果是一个单词,要求首字母大写,如果是多个单词要求每个单词首字母大写
方法和变量: 如果是一个单词,每个字母都小写,如果是多个单词,从第二个单词开始首字母大写
常量: 如果是一个单词,所有字母大写,如果是多个单词也是所有字母大写,但是用_分开 MAX MAX_VALUE
1,输入输出
输出: System.out.println("helloworld");//换行
System.out.print("helloworld");//不换行
输入:java输入主要是使用Scanner这个类,需要导入相关的包 import java.util.Scanner;
Scanner scan = new Scanner(System.in);
int user_input_number = scan.nextInt();//输入int型数据
double user_input_decimal = scan.nextDouble();//输入double型数据
String user_input_string = scan.nextLine();//输入string数据
注意:in.nextLine();不能放在in.nextInt();代码段后面
否则in.nextLine();会读入"\n"字符,但"\n"并不会成为返回的字符
每次使用scanner.nextInt和canner.nextDouble后可以调用一次scanner.nextline()进行清空,
或者使用scanner.next(),next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
Scanner scan = new Scanner(System.in);
int user_intput_int = scan.nextInt();
scan.nextLine();
System.out.println("输入的int型数据是:"+ user_intput_int );
double user_input_double =scan.nextDouble();
scan.nextLine();
System.out.println("输入的double型数据是"+ user_input_double);
String user_input_string = scan.nextLine();//输入string数据
System.out.println("输入的string型数据是"+ user_input_string);
2,方法
Java中所有的赋值和方法调用都是“按值“处理的,引用类型的值是对象的地址,原始类型的值是其自身。
Java支持变长方法参数。定义: public static void testScanner()
3,类
可以在自己写的class类再定义一个类,但是要注意此时class不能为public
或者在包下重新创建一个class,在main函数下进行访问
class Pet
{
int petAge;
String petName;
public Pet(String name,int age)//构造函数
{
petAge = age;
petName = name;
}
public void setname(String name)
{
petName = name;
}
public void setage(int age)
{
petAge = age;
}
public void show()
{
System.out.println("宠物的名字是" + petName + ",年龄是" +petAge);
}
}
在主函数中进行调用
Pet pet1 = new Pet("penny",1);
pet1.show();
继承
类可以调用extends关键字继承另一个类,用super关键字访问父类的属性或方法
同样可以在class下新建一个非public class或在包下新建class
需要重写方法的话,直接在子类中重新定义同名方法,例如:
class Pig extends Pet{
private int pigWeight;
public Pig(String pigname,int pigage,int pigweight)
{
super(pigname,pigage);
pigWeight = pigweight;
}
public void show()
{
super.show();
System.out.println("重量为:"+pigWeight);
}
}
4,数组
java一般数据定义和c++类型,数组定义有点像c++中的动态数组定义
定义方式如下:
a,元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
b,元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};