java开发环境搭建:JDK配置 + java 集成开发环境IDE(Integrated Development Environment) ==》Eclipse工具
1、官网下载后安装elipse,注意:Eclipse 安装时JDK位数和Eclpise位数必须保持一致,安装过程中Switch Workspace 选择存放项目java Project 的工作空间;
2、JDK安装及环境配置、检测:如下
第一步将jdk文件夹安装到D盘根目录,
在环境配置界面的系统变量中创建JAVA_HOME :D:\jdk
编辑系统变量Path,值得前端添加%JAVA_HOME%\bin;
检测:DOS界面中使用命令java 、javac 、Java-version 能正常输出信息即成功;
学习要点归纳:
1、如何使用命令行格式编译和执行java程序??
在DOS命令界面中,Javac 命令能将java后缀文件编译成class文件,java 命令可以执行class文件;
2、java理解:java是面向对象编程的语言,java文件实际在创建一个个类。
3、创建一个类:public class FirstClass{...} 其中public表示这是一个可以公开访问的类、class表示这是一个类、FirstClass 表示类的名字,类名的每个单词首字母必须大写;public 前饰的类必须在独立java文件中。
类的方法的使用:类的方法组成包括方法名、返回值、修饰词和方法体。一般通过实例对象调用方法,成员变量。注意类方法可以直接使用类名调用。
float getArmor(/*Argument list*/){//float是调用方法后返回的数据类型。//Argument list:定义传给方法的信息的类型和名称 方法名和参数列表共同唯一地标识出某个方法。return armor;}
4、main方法的理解:public static void main(String[] args) 这是主方法,所有代码的入口(可以理解为实例化类对象后会执行的代码块);
5、eclipse简单实用技巧:代码快捷智能编码实用 “ ALT+ / ”, 如输入“main”按快捷键后快速生成main()方法;快速生成system.out()方法;还可以在全选代码后使用 "ctrl+shift+f "快捷键 格式化代码 ;可以使用 [菜单]-> [Source ] 就可以看到快速生成set/get构造方法等;参考网址:http://how2j.cn/k/helloworld/helloworld-eclipse-tips/300.html
6、Class Not Found 异常的解决办法?? 菜单-Project->勾选Build Automatically,并Problems页面倘若有错误,那么项目也不会对.java文件进行自动编译。
7、什么是面向过程编程??
面向过程编程就是分析出问题所需要的步骤,使用函数把这些步骤一步步实现,使用的时候一个个依次调用就可以了。强调的是功能行为,考虑的是实际的实现,面向过程是从上往下步步求精,所以面向过程重要的是模块化的思想方法。程序规模不是很大的时,面向过程的方法还会体现出一种优势,因为程序的模块很清楚,按着模块和函数的方法可以很好的组织。
8、什么是面向对象编程??
面向对象是将世间万物抽象成一个个对象,对象具备状态和行为,通过事件进行关联,强调的是具备功能的对象。
面向对象具有三大特性:
封装:将对象的方法和属性具体隐藏起来,只提供调用方法的接口,即封装。
继承:将一个已有类中的属性和方法保留,再加上自己特有的属性和方法形成一个新类,即继承。
多态:指同名但是不同的具体实现的多个方法存在一个程序中,有两种方式:重载和覆盖。
9、类和对象的理解:类是对一组具有相同属性、操作和关系的同类事物的描述,是抽象的、概念上的定义。对象是实际存在的该类事物的每个个体,因而也称实例(instance)。在java程序编码中,类主要是由定义类的属性变量、方法和关系;类就像是一个模板,通过模板可以创建一个个具体的对象;如创建一个p1对象: Person p1 = new Person(“Tom”,0);的形式根据Person 类先实例化对象,再初始化对象参数;
10、java中有8种基本类型变量:分别是整形4种(btye、short、int、long)、字符型1种(char)、浮点型2种(floa、default)、布尔型1种(boolean)。注意:对象、数组都是引用类型,整形类型数据区分如下图:
11、String是字符串对象类型,long a=30; int b=30; a=b;是可以转换的;基本类型转换可以从低精度向高精度转换,但强制高精度向低精度转换会存在风险;String类型是Immutable的,一旦创建就不能够被改变(如String a="123";a="666";并没有改变“123”字符值,只是改变了a的指向)。
12、Final修饰符的使用:final修饰变量则变量是常量,常量名命名所有字母必须是全大写;常量声明必须初始化,常量只有一次赋值的机会。Final修饰类、方法、基本类型变量、引用的时候有不同的意思。使用final修饰类的时候该类不能被继承。被final修饰的方法不能被重写。被final修饰基本变量只有一次赋值的机会(就是常量)。被final修饰的引用只有一次指向的机会。
13、static关键词用来修饰类成员的(属性和方法),在java类库中有很多类成员都被声明为static,可以让用户不需要实例化对象的情况下引用成员,比如Integer.parseInt(),Float.parseFloat()等用来把对象转换为所需要的基本数据类型,还有Math.random()方法获取随机数。这样的变量和方法我们又叫做类变量和类方法。 (类变量)类属性又叫静态属性。被static修饰后的成员,在编译时由内存分配一块内存空间,直到程序停止运行才会释放,那么就是说该类的所有对象都会共享这块内存空间,即共享一个值。
类方法和实例方法的区别:一个类中的方法可以相互调用,实例方法可以调用类中的实例成员和类成员,而类方法只能操作类成员;实例方法必须通过实例化对象进行操作,而类方法可以直接类名调用。
14、给基本类型的变量赋值的方式叫做字面值
long a=123L; //已L结尾的字面值表示long 类型int b=23; //默认int型int c=0x1a; //16进制int d=023; //8进制int e=0b1101;//2进制float f=12.23f; //f结尾表示float浮点数字面值double g=232.11; //默认是double类型char h='c'; //字符字面值String j="china"; //字符串字面值char tab='\t'; //制表符,其中\表示转义,可以将char carriageRturn ='\r'; //回车char newLine='\n'; //换行
变量处于不同位置名称不一样的同时作用域也不一样,声明在类下面是属性、成员变量,在方法括号里是参数变量,在方法体中是局部变量。
15、java的命名规则:
a、类属性命名,属性名一般小写,多个单词组合的属性名使用驼峰法命名。首字母不能使用数字,命名中可以使用下划线,不能使用“-减号或——破折号”;使用完整的单词命名不能使用缩写;不可以使用关键词命名如class、super等,但可以包含关键字(关键字列表如下);中文名可以用来命名,详细命名规则参照:http://how2j.cn/k/variable/variable-nameing/260.html
16、java算数操作符:%是取模(取余数);i++表示先取值运算再自增;
逻辑运算符:
&长路与和&&短路与,;都为真时,才为真;任意为假,就为假。区别:1.长路与 两侧,都会被运算:2.短路与 只要第一个是false,第二个就不进行运算了。
长路或| 和短路||,任意为真,就为真。区别:1.长路或 两侧都会被运算;2.短路或 只要第一个是true的,第二个就不进行运算了。
异或^ :两侧不同则返回真,相同则返回假;
17、从控制台获取输入数据的类Scanner的使用??
注意:使用需要先引用Scanner类,所以 import java.util.Scanner; 使用如下:
Scanner s=new Scanner(System.in);
int s1=s.nextInt(); //Scanner读取整数
float f1=s.nextFloat(); //Scanner读取浮点数
String str1=s.nextLine(); //Scanner读取字符串
18、表达式的使用注意:表达式使用:if ( 表达式1 ){ 表达式2; } 如果表达式1的值是true,就执行表达式2,注意if (b); System.out.println("yes");会输出“yes”,因为if后的分号也是一个表达式;
19、switch可以使用byte,short,int,char,String,enum,enum是枚举类型。所有枚举值都是public , static , final的。枚举是一个特殊的类,使用枚举可以很方便的定义常量,常用场合有swtich语句中使用枚举进行判断Season season = Season.SPRING; 以及遍历枚举如for (Season s : Season.values()) {},枚举使用参考网址:http://how2j.cn/k/class-object/class-object-enum/678.html ;参考网址https://www.jb51.net/article/89150.htm
20、Continue执行下一次循环,break跳出当前循环。使用boolean变量结束外部循环如下:
Boolean breakout=false; //判断是否终止外部循环的标志for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {System.out.println(i+" : "+j);if(j%4==3) {breakout=true; //终止外部循环的标志设置为truebreak;}}if(breakout) { //判断终止外部循环break;}}
使用标签结束外部循环:外部循环的前一行加上标签 ,在break的时候使用该标签 即能达到结束外部循环的效果,如下
outloop: //标签位置在需要退出的循环前for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {System.out.println(i+" : "+j);if(j%4==3) {break outloop; //通过break使用该标签}}}
21、JAVA 的debug应用和web的debug 调试应用,以及多控制台显示,参考网址http://how2j.cn/k/debug/debug-debug-eclipse-java/1337.
22、Javs数组的创建赋值如下
int[] a; //申明一个引用a=new int[5]; //创建一个长度为5的数组,并使用引用a指向这个数组int[] b=new int[5]; //声明一个引用的同时指向长度为5的数组int[] c=new int[] {11,22,3,44,5}; //分配空间的同时赋值,指定了数组的内容就不能同时指定数组的长度int[] d= {11,22,3,44,5}; //可以省略new int[],效果一致d[0]=100; //修改数组值
更多资源或实战项目详细可以了解:http://how2j.cn/k/interface-inheritance/interface-inheritance-practise/679.html?p=29570