Java 学习笔记二

来源:互联网 发布:wow for mac 编辑:程序博客网 时间:2024/06/05 11:01

标准输入输出

Scanner类

Scanner s=new Scanner (System.in);


import java.util.Scanner;
public class  TestInput{
public static void main(String []args){
Scanner s=new Scanner (System.in);
System.out.println("Please input name: ");
String name=s.nextLine();//一行内容都接收
System.out.println("Please input age: ");
int age=s.nextInt();
System.out.println("Please input salary: ");
double salary =s.nextDouble();
System.out.println();
System.out.println(name+":"+age+" 薪水:"+salary);
}
}

格式化输出:

public class  TestPrint{
public static void main(String[] args) {
System.out.printf("%+8.3f",3.14);//+表示正数
System.out.println();
System.out.printf("%+-8.3f\n",3.14);//-表示靠左对齐,8位,小数点后面3位
System.out.printf("%08.3f\n",3.14);//不够8位补0
System.out.printf("%(8.3f\n",-3.14);//-表示:加上(),+表示不加()
System.out.printf("%,f\n",23565.4544);//,表示分割数字,3位一个分割 23,565.454400
System.out.printf("%x\n",0x4a3b);
System.out.printf("%#x\n",0x4a3b);//#表示0x符号
System.out.printf("%s,%3d岁,工资%-10.2f\n","的辅导费",25,18500.00);
System.out.printf("%1$s,%2$3d岁,%2$#x岁\n","的发送到",48);//1$表示输出第一个参数,2$表示输出第2个参数
System.out.printf("%3d,%#<x",25);
System.out.println();
}
}

输出:

C:\ex\03>java TestPrint
  +3.140
+3.140
0003.140
 (3.140)
23,565.454400
4a3b
0x4a3b
多发点, 25岁,工资18500.00
多发点, 48岁,0x30岁
 25,0x19


命名惯例:注意大小写

包名:package com.domain;

类名:class RainSprint  

接口名:interface  Account;

方法名: modifyAccount()

变量名:studentName

常量名:MAX_LEN


文件组织:

属性声明

构造方法声明

static语句

普通方法声明

main方法声明

内部类的声明


空行:

方法之间

类与接口之间


空格符:

运算符之间: c = a + b;

参数中:写在逗号后面 void main(int argc,   char *argv[]){}


int a=4,b=5;

System.out.println(a>5);//输出false

int m=10>>32;// 32%32=0,  表达式等价于 m=10>>0,=10

int m=10>>>3;// >>>表示无符号右移


//for-each 逐个处理数组或集合中的所有元素
int a[]={12,5,7,8,9,6,1};
for(int k:a)
{
System.out.print(k);
System.out.printf(" ");
}

output:12 5 7 8 9 6 1 

break //终止其所在的单层循环的运行

break 标签 //终止标签标记的外层循环的运行

outer:   for()

              for()

break  outer;//终止外层循环

  for()

inner:  for()

break inner;//终止内层循环

continue 类似的用法


Java语言中声明数组类型的变量时不允许指定数组的长度,如 int [3] a; //这是错误的

int []a;

a=new int [3];



数组的长度:int [ ] a=new int [5];

数组的长度: a.length; System.out.println(a.length);


动态初始化:

MyDate  [ ]date=new MyDate [3];

date[0]=new MyDate(21,21,1998);

...............

静态初始化

MyDate  [ ]date={

new MyDate(11,11,2012),

new MyDate(11,11,2012),

new MyDate(11,11,2012)

};


二维:

静态初始化:

int [][]a={{},{}};

非法的方法: int [2][2]a={{},{}};不可以指明元素的个数

动态初始化:

int a= new int [3] [ ];

 a[0]=new int [2];

a[1]=new int [3];

a[2]=new int [4];

则:a[2].length=4

int a[][]={{1,2},{3,4},{1,5,6}};
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
}


 数组拷贝 :Java.lang.System.arraycopy()

int []source={9,8,7,6,54,3};
int []dest={1,2,3,4,5,6,7,8,9,10};
System.arraycopy(source, 3, dest, 4, 2);
for(int k:dest){
System.out.print(k+" ");
}

output:1 2 3 4 6 54 7 8 9 10 


数组排序:JDK的Java.util包中定义Arrays类提供了多种数组排序的功能

Arrays.sort(source);
System.out.println();
for(int i=0;i<source.length;i++){
System.out.print(source[i]+" ");
}