loading...

0

java初了解

其他读完大概需要9分钟

  • 发布时间:2017-12-13 16:04 星期三
  • 刘伟波
  • 196
  • 更新于2018-08-13 22:30 星期一
环境配置 新建 JAVA_HOME C:\Program Files\Java\jdk1.8.0_25 Path: C:\Program Files\Java\jdk1.8.0_25\bin; (是在Path最前面加入并确定没有符号中英文错误) 新建 CLASSPATH .;C:\Program Files\Java\jdk1.8.0_25\lib (确定没有符号中英文错误) 之后在命令提示符里输入java 出来的内容正常;输入javac时返回“javac不是内部命令,也不是可运行的程序”看视频确定过多次,也查了网上的资料,改过多次,每次配置环境变量后,都重新打开DOS窗口还是没有解决这个问题。后来在视频右下角下载的“环境变量配置资料”中看到“%JAVA_HOME%\bin;”等字段,再结合网上资源,问题解决。 新的环境变量设置: %JAVA_HOME%\bin;(%JAVA_HOME%\jre\bin;括号里不加也可以) 加到Path下面 -- 新建 JAVA_HOME: C:\Program Files\Java\jdk1.8.0_25 -- 新建 CLASSHOME: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 如果有问题 把CLASSPATH 的 %JAVA_HOME%替换为JAVA_HOME的变量值 E:\install-package\java

package com.imooc;

public class HelloImooc {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello,Imooc");
}

}

标识符 (同js命名,严格区分大小写,不能是java关键字和保留字)

 

数据类型

基本数据类型:数值型(byte,short,int,long. float,double),字符型,布尔值

引用类型:类(class)、接口(interface)、数组


变量声明:

int n;long count;

浮点型字面值:

浮点型字面值默认情况下表示double类型,也可以假d或D,如表示float类型,则需要在后面加f或F.

强制类型转换:

double d=123.4;              char c=(char)65536

float f=(float)d;                

隐式类型转换:

char c=(char)65536

int n;

n=c; // 隐式类型转换

c=(char)n;

  

常量(变量名为大写)

final int N=5;   final double PI=3.14;  final double MIN_VALUE=0;

计算

13%5=3;  13.5%5=3.5

13.0/5=2.6;  13/5=2

输出:System.out.println(n+"能被3整除");

输入:Scanner sc=new Scanner(System.in); int n=sc.nextInt();


数组

int[] arr=new int[10];创建数组长度为10的整型数组arr;

int[] arr={1,2,3,4,5,6,7,8,9,10};    取值 arr[0],arr[1];有length属性,arr.length=10;


方法

1.无参无返回值:

定义方法:

public void printStar(){

System.out.println("****************");

}

调用:

HelloImooc myMethodDemo=new HelloImooc();

myMethodDemo.printStar();

2.无参有返回值:

public int area(){
int length=10;
int width=5;
int getArea=length*width;
return getArea;
}

3.带参无返回值:

public void max(float a,float b){
float max;
max=a>b ? a : b;
System.out.println(max);
}

4.有参又返回值

public int fac(int n) {
int s = 1;
for (int i = 1; i <= n; i++) {
s *= i;
}
return s;
}

数组作为参数

public void printArray(int[] arr){
for (int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}


方法重载:方法名相同,参数不同

可变参数列表:

public void search(int n,int... a){
boolean flag=false;
for(int a1:a){
if(a1==n){
flag=true;
break;
}
}
if(flag){
System.out.println("找到了"+n);
}else {
System.out.println("没有找到"+n);
}
}

调用,后面的参数可以为数组

public static void main(String[] args){
int[] arr={11,22,33};
first test=new first();
test.search(112,arr);
test.search(112,12,13,14,112);
}


面向对象

public class cat {
String name;// 默认为null 增加private就不不让修改,只能在内部使用
int month; // 默认为0
double weight;//默认为0.0
String species;//默认为null
public static int price;//售价  static:静态 静态成员 

public void run(){
System.out.println("小猫快跑");
}
public void run(String name){ //方法重载
System.out.println(name+"小猫快跑");
}
public void eat(){
System.out.println("小猫吃鱼");
}
}


public class catTest {
public static void main(String[] args){
cat one=new cat();
cat.price=3000;//静态成员访问方法
one.eat();
// one.month
}
}

封装

//创建get和set方法
public void setName(String name){
this.name=name;
}
public String getName(){
return "我是"+this.name; // 我是范范
}

调用

public class catTest {
public static void main(String[] args){
cat one=new cat();
one.eat();
one.setName("范范");
System.out.println(one.getName());
// one.month
}
}

跨包

package com.imooc.test2;//定义包
//import com.imooc.test.*;//我需要加载这个包所有类 第一种
import com.imooc.test.cat ;//特定的指定的类 第二种
com.imooc.test.cat a=new com.imooc.test.cat(); //第三种 麻烦

代码块

public void run(){
{
System.out.println("普通代码块");
}
System.out.println("小猫快跑");
}

{
System.out.println("构造代码块");
}
static {
System.out.println("静态代码块");
} 结论:执行顺序 静态代码块>构造代码块>普通代码块

继承


package com.animal;

public class Cat extends Animal {
public class Dog extends  Animal{
private String sex;

跨包调用

package com.test;
import com.animal.Animal;
import com.animal.Cat;
import com.animal.Dog;

public class Test {
public static void main(String[] args){
Cat one=new Cat();






你可能感兴趣的文章

    发表评论

    评论支持markdown,评论内容不能超过500字符,如果内容过多或者要及时回复,建议去 平台,一般一天之内就会回复。
    关于技术问题或者有啥不懂的都可以留言,我会定期回复答 疑,推荐最新仓库 前端知识体系, 感謝支持!