欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java的基本程序设计结构

程序员文章站 2022-07-12 18:36:31
...

Java的基本程序设计结构


3.1一个简单的Java应用程序

public class hello 
{
  public static void main(String[] args)
  {
	  System.out.print("Hello Word!");  //不换行
	  System.out.println("Hello Word!");  //换行
  }
}
  1. 类名:字母开头,后面可以为字母和数字的任意组合,长度无限制

  2. main方法必须是静态

3.2 三种注释

  1. //(最常用)
  2. /* */ (不能嵌套)
  3. /** */(自动生成文档)

3.3 数据类型

  1. 整型:int、short、long、byte

  2. 浮点型:float、double

  3. char型 (不推荐使用,最好用抽象数据类型表示)

  4. boolean(布尔)类型:true(1) false(0)

3.4 变量

  1. 变量初始化(不区分声明和定义)

方法一

int a;
a=12;

方法二(推荐)

int a=12;   
  1. 常量:利用关键字final表示

3.5 运算符

  1. 基本运算符:+、-、*、\、%

  2. 自增运算符与自减运算符

  3. 关系运算符与boolean运算符

​ (1)==:是否相等

​ (2)!=:是否不等

​ (3)&&“逻辑与” 、||“逻辑或” (短路方式求值)

​ (4)x < y ? x : y 返回x和y中较小的值

  1. 位运算符

​ &(“与”)、|(“或”)、^(“异或”)、~(“非”)

  1. 运算符优先级
    Java的基本程序设计结构

3.6 字符串

3.6.1子串

substring方法(从0计数,直到n为止)可以从一个较大的字符串中提取一个子串

String greeting="Hello";
String s=greeting.substring(0,3)  //创建一个Hel字符串

3.6.2 拼接

String a="Hello";
String b="Word";
String message=a+b; //message=HelloWord

:将一个字符串与一个非字符串的值拼接时,后者转换成字符串

int age =13;
String rating="PG"+13; //rating=PG13

3.6.3 不可变字符串

String类对象称为不可变字符串

3.6.4 检测字符串是否相等

  1. equals方法
s.equals(t);  //相等,返回true;否则返回false
"Hello".equals(greeting); 

可以使字符串变量或者常量

  1. equalsIgnoreCase方法

检测两个字符是否相等,并且不区分大小写

"Hello".equalsIngoreCase("hello")

注:不能使用==运算符检测两个字符串是否相等

3.6.5 空串与Null串

  • 空串:长度为0的字符串

    检测字符串是否为空的两种方法

if(str.length()==0);
if(str.equals(""));
  • Null串:表示目前没有任何对象与该变量相关联

3.7 大数值

  1. java.math 中的两个类BigInteger(任意精度整数运算)和 BigDecimal(任意精度浮点数计算)
BigInteger c=a.add(b); //c=a+b
BigInteger d=c.multiply(b.add(BigInteger.valueOf(2))); //d=c*(b+2

:Java没有提供运算符重载功能,只为字符串的连接提供了+运算符

  1. 下例为求n个数字中选取k个的中奖概率,即Cnk = Java的基本程序设计结构
package code;
import java.math.*;
import java.util.*;
public class BigIntegerTest {    //n个数字中选取k个的中奖概率
	public static void main(String[] args)
	{
		Scanner in=new Scanner(System.in);
		System.out.print("How many numbers do you need to draw?");
		int k=in.nextInt();
		System.out.print("What is the highest number you can draw?");
		int n=in.nextInt();
		BigInteger lotteryOdds=BigInteger.valueOf(1);
		for(int i=1;i<=k;i++)
        {
            lotteryOdds=lotteryOdds.multiply(BigInteger.valueOf(n-     i+1)).divide(BigInteger.valueOf(i)); //n*(n-1)*(n-2)*···*(n-k+1)/(1*2*3*···*k)
			BigInteger.valueOf(i);
		}
		System.out.print("Your odds are 1 in "+lotteryOdds+".Good luck!");
	}
}

Java的基本程序设计结构

  1. 常见的方法Java的基本程序设计结构

3.8 数组

3.8.1 数组定义

  1. 数组是一种数据结构,用来储存同一类型值的集合

  2. 创建数字数组时,所有元素初始化为0。boolean数组元素初始化为false。对象数组的元素初始化为null

3.8.2 遍历数组的三种方法

package code;

import java.util.Arrays;

public class fore_each 
{
	public static void main(String[] args)
  {
	int[] a={1,2,3,4,5};
	for (int b:a)  //for each 循环
    {
	    System.out.print(b+" ");  
    }
	System.out.println();
	System.out.println(Arrays.toString(a)); //将数组转化为字符串输出
	for(int i=0;i<5;i++)   //for循环遍历数组
	{
		System.out.print(a[i]+" ");
	}
  }
}

Java的基本程序设计结构

3.8.3 数组的初始化和匿名数组

  1. 创建数组同时初始化
int[] a={1,2,3,4,5};  //初始化
  1. 匿名数组
new int[]{1,2,3,4,5}; //匿名数组

优点:不创建新变量的情况下重新初始化一个数组

b=new int[]{1,2,3,4,5};

java中允许数组长度为0

3.8.4 数组拷贝

  1. 拷贝:一个数组变量拷贝给另一个数组变量
int[] b=a;
a[5]=5; //b[5]也是5
  1. copyTo方法:一个数组的所有值拷贝到一个新的数组中
int b[]={1,2,3,4,5};
int a[]=Arrays.copyOf(b,4);

3.8.5 数组排序

对数值型数组排序:Arrays类的sort方法

package code;
import java.util.*;
public class LotteryDrawing {
	public static void main(String[] args)
	{
		Scanner in=new Scanner(System.in);
		System.out.print("How many numbers do you need to draw?");
		int k=in.nextInt();  //想要获奖的数
		System.out.print("What is the highest number you can draw?");
		int n=in.nextInt();  //总数
		int[] numbers=new int[n];  //将数字存入数组numbers中
		for(int i=0;i<numbers.length;i++)
		{
			numbers[i]=i+1;
		}
		int[] result=new int[k];  //存放抽取出来的数值
		for(int i=0;i<result.length;i++)
		{
			int r=(int)(Math.random()*n);  //返回0-n之间的随机数
			result[i]=numbers[r];
			numbers[r]=numbers[n-1];
			n--;
		}
		Arrays.sort(result);  //排序
		System.out.println("Bet the following combination.It'll make you rich!");
		for(int r:result)
		{
			System.out.println(r);
		}	
	}
}
相关标签: java 编程语言