Java(一)

一、第一个Java程序

    package Test;//包名
    public class HelloWorld {
    //class定义一个类,HelloWorld类名
    //类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写
    //一个Java定义公开的类,该类名称和源文件名称一致

    //类体中不允许直接编写Java语句,声明变量除外

         public static void main(String[] args) {//主方法,程序执行入口
         //方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
                System.out.println("Hello World"); //向控制台输出消息,换行
        }
    }

二、Java 标准输入输出

1.输入:

①使用支持各种类型数据输入的next方法: 
可以从键盘中输入各种基本类型和字符的数据,Java从键盘接收数据都是以字符串的形式进行,next方法根据数据类型来选用。如果直接取得上一个字符串,以空格或者换行分隔,则使用next(),如果取得用户输入的整行文字,则使用nextLine(),以换行分隔。 
java.util.Scanner的使用方法: 
(1)首先要导入java.util.Scanner包 
import java.util.Scanner; 或者写 import java.util.* ; 
import java.util.* 中“*”表示UTIL下所有的类都可引用, 
如果写util.Scanner只能引用Scanner的类; 
(2)使用时使用下面的语句:Scanner sc=new Scanner(System.in); 
(3)Scanner对象sc每个基本类型,都会有对应的方法,如sc.next()、sc.nextByte()、sc.nextShort()、sc.nextInt()、sc.nextLong()、sc.nextFloat()、sc.nextDouble()、sc.nextBoolean()等方法等。 
实例:

package Test;//包名字
import java.util.Scanner;

public class InputExamples{//类名,与文件名称一致
    public static void main (String[] args) {
        int score;
        String name;
        Scanner sc = new Scanner (System.in);
        System.out.println ("输入学生姓名:");
        name = sc.next ( );//从键盘以字符串形式接收
//      name = sc.nextLine ( );//可以接收空格
        System.out.println ("输入学生成绩:");
        score = sc.nextInt ( );
        System.out.println(name+"的成绩为"+score);
    }   
}

注:如何输入一个字符 
调用String的charAt(0)方法获取第一个字符

Scanner sc = new Scanner(System.in); 
String s = sc.next(); 
char c = s.charAt(0);

②read方法

实例:

package Test;
import java.io.*;//引入Java包
//输入字符
public class ReadInput {
    public static void main(String[] args)throws Exception{
    //抛弃异常操作
    char c,c1,c2;
    System.out.println("请输入一个字符,按回车结束");
    c=(char)System.in.read();//将int型强制转化为字符型
    c1=(char)(c-1);
    c2=(char)(c+1);
    System.out.println("c1:"+c1);
    System.out.println("c2:"+c2); 
    }
}

System.in.read()方法的功能比较单调,直接使用较少,通常使用Scanner类中的方法或者java.io包中的其他类与其配合使用。

2.输出:

(1)System.out.println(),其中out是静态输出流对象,与静态输入流对象in对应,只要程序进入运行状态,此流就已经打开准备输出,这是使用最多的一种方法,输出结束光标在下一行; 
(2)printf(),可以格式输出,如用\n进行换行输出等; 
(3)用“+”运算符连接多个输出项为一项进行输出。


三、方法

1.定义:

修饰符 返回值类型 方法名(参数类型 参数名){ 
... 
方法体 
... 
return 返回值; 

注意: 
在一些其它语言中方法指过程和函数。一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫做过程;

2.方法调用:

注意: 
1.有static 调用:类名.方法名();(在当前类中可以省略 类名.); 
2.main 方法的头部是不变的,带修饰符 public 和 static,返回 void 类型值,方法名字是 main,String[]表明参数是字符串数组; 
3.方法调用时,才会在内存中分配空间,(只定义没有调用,不会分配空间)分配在栈中,方法调用为压栈,方法结束为弹栈。调用与书写顺序无关,先调用的最后结束 
4.方法有返回值,但返回值可以不接收;返回值为void,使用return;可以终止方法执行。

3.方法重载:

重载条件:方法名相同,只出现在同一个类中,返回值类型可以不同,不依靠返回值类型来区分重载,方法重载与修饰符无关。 
实例:

    public class Main { 
    public static void main(String[] args) {
        int sum1=add(1,2);
        int sum2=add(1,2,3);
        double sum3=add(1.2,2.3);
        System.out.println("sum1="+sum1);
        System.out.println("sum2="+sum2);
        System.out.println("sum3="+sum3);
    }
    private static double add(double d, double e) {
        return d+e;
    }
    private static int add(int i, int j, int k) {
        return i+j+k;
    }
    private static int add(int i, int j) {
        return i+j;
    }
}

四、类

1.一个类可以包含以下类型变量:

(1)局部变量:在方法、构造方法、语句块中定义的变量。其声明和初始化在方法中实现,在方法结束后自动销毁

public class  ClassName{
    public void printNumber(){
        int a;
    }
    // 其他代码
}

(2)成员变量:定义在类中,方法体之外。变量在创建对象时实例化。成员变量可被类中的方法、构造方法以及特定类的语句块访问。

public class  ClassName{
    int a;
    public void printNumber(){
        // 其他代码
    }
}

(3)类变量:定义在类中,方法体之外,但必须要有 static 来声明变量类型。静态成员属于整个类,可通过对象名或类名来调用。

public class  ClassName{
    static int a;
    public void printNumber(){
        // 其他代码
    }
}

2.类的构造方法

【修饰符列表】 构造方法名(形参列表){ 
方法体; 

(1)构造方法的名字和类名相同,并且没有返回值。 
(2)构造方法主要用于为类的对象定义初始化状态。 
(3)我们不能直接调用构造方法,必须通过new关键字来自动调用,从而创建类的实例。 new 构造方法名(); 
(4)Java的类都要求有构造方法,如果没有定义构造方法,Java编译器会为我们提供一个缺省的构造方法,也就是不带参数的构造方法。 
(5)构造方法可以构成重载。

new关键字的作用 
(1)在堆中为对象分配内存空间。对象是具体的一个实例,如:new Student(); 
(2)引起对象构造方法的调用。 
(3)为对象返回一个引用。 
注:引用名称是存放的对象的地址。

五、对象

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

声明:声明一个对象,包括对象名称和对象类型。 
实例化:使用关键字new来创建一个对象。 
初始化:使用new创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子:

public class Test{
    public static void main ( String[] args ){
    //创建对象 
    Student stu = new Student();
    //Student 对象类型,存储在堆中
    //局部变量stu为引用,以地址形式存储在栈中
    //对成员变量进行赋值,没有手动赋值为默认值
    //int 默认值0,String默认值null,boolean默认值为false
    stu.id =  100;
    stu.name = "张三";
    stu.sex = true;
    stu.add = "西安";
    stu.age = 20;
    //调用方法 :  [引用.]
    System.out.println ( "id="+stu.id );
    System.out.println ( "name="+stu.name );
    System.out.println ( "sex="+(stu.sex?"男":"女" ));
    System.out.println ( "add="+stu.add );
    System.out.println ( "age="+stu.age );
    }
}

class Student{
    int id;
    String name;
    boolean sex;
    String add;
    int age;
}

注:一个类可以存在多个对象

同markdown:https://www.zybuluo.com/YuWen/note/1222398

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值