码迷,mamicode.com
首页 > 编程语言 > 详细

java_基础总结

时间:2016-04-04 14:36:44      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

1,常用的原始数据类型

int 整数

float,double 浮点数,double 相对float 范围更宽

boolean 布尔值

EX:(1+14)/2

用int 来表示,就只会得到整数部分,不会得到小数部分

用float,double来表示,要加f或d才会得到小数部分

int a=(1+14)/2;
float b=(1+14)/2f;
double c=(1+14)/2d;

布尔值是判断true 或者 false 的数据类型,其中会用到一些逻辑运算符,如 &&,||,前者表示AND,后者表示OR,还有==,!=表示相等与不相等.

EX:

boolean d= 1==0;

因为1肯定不等于0,所以d=false

2,数据类型之间的转换

(1)自动转化

Java中进行数据转换时只要满足下列两个条件就可以实现自动数据类型转化:
-转换前的数据类型与转换后的类型兼容。
 
-转换后的数据类型的表示范围比转换前的类型大。
EX:int -> float -> double 是自动转化
 
(2)强制转化
在Java中的进行数据转换时只要满足下列两个条件就可以实现强制数据类型转化:
 -转换前的数据类型与转换后的类型兼容。
-转换后的数据类型的表示范围比转换前的类型小。
EX:double->float->int 是强制转化。
   Double a=5;
   Int b=(int)a;
3:输出语句: 
system.out.println();(换行输出)
system.out.print();(不换行输出)
输出语句中用"\t"表示间隔,"\n"表示换行 "\r"表示回车,即将"\r"后面的放在最前面输出
 
4,Scanner
我们需要从命令行(控制台)得到值,就需要用到Scannner

首先要导入一个包

import java.util.Scanner;

Scaner 的两种用法:

1

整型:  int a=new Scanner(System.in).nextInt();

浮点:  float b=new Scanner(System.in).nextFloat();

浮点:  double b=new Scanner(System.in).nextDouble();
 
 字符串:String s=new Scanner(System.in).next();
     String s=new Scanner(System.in).nextLine();
得到字符的方法 char ch = new Scanner(System.in).next().charAt(0);
2,先为Scanner创建新对象
Scanner sc=new Scanner(system.in);
整数 int a=sc.nextInt;
浮点数 float b=sc.nextFloat;
    double c=sc.nextDouble;
字符串 String d=next();
    String e=nextLine();
d与e的区别为,用d 的时候,当字符串中有空格时,不会取到空格后面的值
EX: 命令行输入"q we" ,d就只能输出"q"
而当把d,e放在一起
EX:

String d=sc.next();
String e=sc.nextLine();

这时候,命令行输入 "q we",d输出"q" e输出" we",

5,java基础语句

详情见另一篇博客

http://www.cnblogs.com/listencat/p/5328332.html;

6,数组

one 创建并初始化数组

在java中,创建一个数组需要三步:

(1)声明数组的名字和类型;

在声明数组时,要指定数组名称,和它含有的数据的数据类型

(2)创建数组;

在创建数组时,要指定数组的长度(范围或元素的个数)

(3)初始化数组元素;

常用的创建数组方式:

1) int [] a=new int[N];(N表示长度)

2) int [] a={1,2,3,...};

two 使用数组

在声明与创建数组后,可以通过数组名之后的方括号中的索引来访问其中的元素.数组一经创建,大小就固定了.可以使用a.length
获取数组的长度,数组的最后一个元素为a.length-1,第一位为0,若使用小于0火大于a.length-1的索引访问数组,会抛出异常

一些典型的数组处理代码

 
//N自取
int [a]=new int[N];
//找出数组中最大的元素
double max= a[0];
for(int i = 1; i < a.length-1; i++){
       if(a[i]>max){
         max=a[i];
       }
}
//计算数组元素的平均值
int n=a.length;
double sum=0.0d;
for (int i =0; i<n;i++){
    sum +=a[i];    
}
double average = sum/n;
//复制数组
int n =a.length;
double [] b=new double[n];
for(int i=0;i<n;i++){
    b[i]=a[i];
}
//颠倒数组元素的顺序
int n=a.length;
for(int i=0;i<n/2;i++){
    double temp =a[i];
    a[i]=a[n-1-i];
    a[n-1-i]=temp;        
}

three 二维数组

在java中二维数组就是一维数组的数组.第一维可以看做行数,第二维可以看做列数

EX:int [][] a=new int[N][N];

7,静态方法

方法需要参数(EX:int)并根据参数计算出某种数据类型的返回值或者产生某种作用(如打印一个值).

静态方法解析

技术分享

一些典型的静态方法

 

//计算一个整数的绝对值
public static int abs(int a){
    if (a<0){
        return -x;
    }else{
         return x;
    }
}
//计算一个浮点数的绝对值
public static double abs(double a){
    if(a<0){
        return -x;
    }else{
         return x;   
    }
}
//判断一个数是否是素数
    public static boolean isprime(int a){
        if(a < 2){
            return false;
        }else if(a==2 || a==3){
            return true;
        }
        for(int i =2; i*i <=a;i++){
            if(a%i==0){
                return false;
            }else{
                     return true;
            }
        }
        return false;
    } 
   

调用静态方法

调用静态方法的方法是写出方法名并在后面的括号中列出参数值,用逗号分隔.当调用的是表达式的一部分时,方法的返回值将会替代表达式中的方法调用.

递归

方法可以调用自己

二分查找的递归

    public static int rank(int b,int[]a){
        return rank(b,a,0,a.length-1);
    }
    private static int rank(int b, int[] a, int i, int j) {
        //如果b存在于a[]中,它的索引不会小于i且不会大于j
        if(i>j){
            return -1;
        }
        int c=i+(j-i)/2;
        if(b<a[c]){
            return rank(b,a,i,c-1);
        }else if(b>a[c]){
            return rank(b,a,c+1,j);
        }else{
            return c;
        }
    }

 

java_基础总结

标签:

原文地址:http://www.cnblogs.com/listencat/p/5351655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!