Java基础知识点(1)(细节)

框架

//import ***		//调用库

public class Example{
	public static void main(String args[]){
		//在此编码;
	}
}

输入

Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:

import java.util.Scanner;			//调用库
Scanner reader = new Scanner(System.in);		//创建类对象

然后就可以用reader对象调用方法,读取用户在命令行输入的基本类型数据:

nextBoolean()
nextByte()
nextShort()
nextInt()
nextLong()
nextFloat()
nextDouble()

字符与字符串的输入

next().charAt(0);		//字符输入,这个是最简单的字符输入了

next();		//字符串输入,遇到空格或者换行结束 
nextLine();		//输入一行字符串,可以包括空格

示例:

import java.util.Scanner;

public class Example_1{
	public static void main(String args[]){
		Scanner reader = new Scanner(System.in);
		int num = reader.nextInt();		//int型输入

		String s = reader.next();		//字符串输入,遇到空格或换行结束,
		char c = reader.next().charAt(0);		//字符输入

输出

System.out.println();		//换行
System.out.print();			//输出后不换行

输出格式跟C++一样,用+连接
示例:

int num = 3;
System.out.println("数值:" + num);
//>>数值:3

还有格式输出用%占位符,例:

int num = 1;
float f1 =2.1f;
System.out.println("整数:%d\n小数:%f",num,f1);

标识符

标识符:在程序中自定义的一些名称。
标识符的组成:标识符由26个英文字母大小写,数字:0-9,符号:_$组成
在使用标识符的时候有四点规则需要你遵守:

1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。如:123name就是不合法的。
2. 标识符不能是 Java关键字和保留字,但可以包含关键字和保留字。如:不可以使用 int作为标识符,但是 myint可以。 
3. 标识符是严格区分大小写的。
4. 标识符的命名最好能反映出其作用,不然名字多了会混肴,推荐用下划线_

字符与字符串

字符用单引号’ ’
字符串用双引号" "
用关键字char声明char型(字符型)变量;
对于char型变量,分配2个字节内存,占16位,取值范围:0~65535(Unicode个数);

转义字符:
\n(换行),\b(退格),\t(水平制表),\'(单引号),\"(双引号),\\(反斜线)等。

字符串声明用String

对于字符串可用charAt() 方法可返回指定位置的字符,如

String str;
str = reader.next();
for(int i=0;i<str.lenght();i++){
	System.out.println(str.charAt(i));
}

运算符

:Java里^不是乘方的意思,而 ^ 是按位 异或运算。

还有个注意的是三目条件运算,示例:

int a = 4;
int b = 8;
int c;
a > b ? c=a : c=b;
//(关系表达式) ? (true语句) : (flase语句);

数组

int a[];		//声明数组
a = new int[4];		//创建数组,给a分配空间,长度为4的int型数组
//int a[4];			//不能这样,Java不允许在声明数组中的方括号内指定数组元素的个数。

int a[] = new int[4]		//声明与创建可一块

int item[] = {1,2,3,9,22};		//在声明的时候赋上初值,用大括号{}

int [] a,b,c[];		//一次声明多个数组,其为a[],b[],c[][]
//int[] a;与int [] a;与int[]a;一样没差别,空格无关

int size = 20;
float num[] = new float[size];		//java允许用int变量值指定数组长度

String s[] = {"ab", "abc", "cd"};		//字符串数组

//注:数组索引还是从0开始,跟C语言一样


length使用

float a[] = new float[13];
//数组a每个元素初始为0.0
float b[][] = new float[3][6];
System.out.println(a.length);
//>>13
System.out.println(b.length+","+b[].length);
//>>3,6

转换数据类型

整数可以跟浮点数、char型转换,但浮点数不能跟char转换;

用括号把类型括住放在数据前,示例:

int n1 = 3;
System.out.println((float)n1);
//>>3.0
float n2 = 7.7F;
//float n2 = (float)7.7;
//定义float型浮点数时要在数后面加上F或f,或者上面注释那个也可以,两者等价
//一般写个浮点数都要考虑这个是float(带上F或(float)),还是double型
System.out.println((int)n2);
//>>7
int a = 1.1;		//有的编译会出错,不兼容类型
int a = (int)1.1;		//这样就没问题了
int b = '9';		//没问题!,每个字符在Unicode中都有个位置与之对应

初始值

类中成员变量定义后会有初始值;数组new(创建)后也有初始值

数组初始化

创建数组后,系统会给数组的每个元素一个默认的值,
float型是0.0
int型是0
char型什么都没有,空(对应编号:0)
String型时null
boolean型是false

main函数变量无默认值

main函数定义的变量系统不会给默认值,在使用变量之前,必须保证变量有具体的值
不然就会出错:
在这里插入图片描述

在类中局部变量也是一样道理

为对象分配空间

如果成员变量在声明时没有指定初值,构造方法中也没有对成员变量进行初始化操作,那在创建对象时,系统会给其成员变量默认值:
float型是0.0
int型是0
boolean型是false
引用型(相当于指针地址),默认初始:null

构造方法

类中构造方法的名字必须与它所在的类的名字完全相同,而且没有类型。允许在一个类中编写若干个构造方法。

class Point(){
    int a;
    int b;
    Point(){		//是构造方法
    	a = 1;
    	b = 3;
    }
    Point(int x, int y){		//是构造方法
        a = x;
        b = y;
    }
    void Point(int n1,int n2){		//不是构造方法(该方法类型是void)
    	a = n1;
    	b = n2;
    }
//使用:
Point p1 = Point();
//使用Point类中Point()构造方法,即p1.a=1,p1.b=3
Point p2 = Point(2,5);
//p2.a=2
//p2.b=5
p2.Point(10,12);		//使用实例方法
//p2.a=10
//p2.b=12

如果类中没有编写构造方法,系统会默认该类只有一个无参数的构造方法;
如果类中定义一个或多个构造方法,那Java不提供默认的构造方法。

类变量与类方法

用static声明的是类东西(静态),不然就是实例东西(实例变量、实例方法);

还有个构造方法:
名字必须与类名相同;
可多个(重载);
构造方法没有返回值;

类变量和类方法可以用类名和对象调用;
类变量的值共享;
类方法的入口被所以对象共享(对象名调用类方法)
实例方法中可以操作类变量;
实例方法不能通过类名调用,只能通过对象调用;
类方法不可以操作实例变量;(因为在对象创建之前,实例变量还没有分配空间。
在类被创建时类变量和类方法就被分配了空间,故在没创建对象之前都可以用类名调用类变量和类方法(有默认值)
对于静态方法块,在类被加载的时候运行且只运行一次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值