浅谈Java基础知识(基于C++基础)

基本语法

  • 类名:对于所有的类来说,类名的首字母应该大写

    如果类名由多个单词组成,那么每个单词的首字母应该大写,例如 MyFirstClass

  • 方法名所有的方法名都应该以小写字母开头

    如果方法名含有若干单词,则后面的每个单词首字母大写。

  • 源文件名源文件名必须和类名相同。

    当保存文件的时候,应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。

  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

    这里的”方法“就是C系列中的”函数“!

数据类型

Java含有八种基本类型(6+1+1)

六种数字类型(四个整数型byte、short、int、long,两个浮点型double、float),一种字符类型char,一种布尔型boolean

Java 提供包机制,用于区别类名的命名空间——防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

  1. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

  2. 包采用树形目录的存储方式。包可以避免名字冲突。

    同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。

  3. 包限定了访问权限,拥有包访问权限的类才能访问某个包中的类

Math 类

包含了用于基本数学运算的方法。类似于C系列中的<math.h>或

Math 的方法都被定义为 static 形式,可在主函数中直接调用 Math 类方法。

几个典型方法:floor,round 和 ceil

round() 表示四舍五入

ceil() 返回大于等于( >= )给定参数的的最小整数

floor() 返回小于等于(<=)给定参数的最大整数

标准输入输出

数据输出

通过系统类两种方式实现:

System.out.println()	// 输出信息后追加一个换行
System.out.print()		//输出之后不追加换行

例:

public class ABC{
    public static void main(String [] args){
        System.out.print("输出的内容"+变量);		//输出后没有换行
        System.out.println("输出的内容"+变量);		//输出后有换行
    }
}

括号内无任何判断符号,默认为真

输出比较表达式,在控制台显示为真/假

数据输入

通过Scanner类获取输入的数据。

一)引入Scanner类

在类前使用import语句让编译器找到Scanner类

import java.util.Scanner

二)定义类对象

Scanner 对象名=new Scanner(System.in)

三)调用对象的成员函数并赋值给变量(接收数据)

数据类型 变量名=对象名.next方法
通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串
next方法接收字符串

在输入有效字符之后,next()方法将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。及:next方法不能得到带空格的字符串。

// next方式接收字符串
import java.util.Scanner; 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("next接收:");
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        scan.close();
    }
}
两个判断字符的方法

hasNext()方法会判断接下来是否有非空字符.如果有,则返回true,否则返回false
hasNextLine() 方法会根据行匹配模式去判断接下来是否有一行(包括空行),如果有,则返回true,否则返回false

nextLine方式接收字符串
  • 以Enter为结束符,即:nextLine()方法返回的是输入回车之前的所有字符
  • 可以获得空白。
import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("nextLine方式接收:");
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        scan.close();
    }
}
nextXxx() 读取数值数据

Xxx为数值数据类型,即:数据类型的第一个字母大写,其余小写,如Int ,Float, Double

import java.util.Scanner;	//在类外引入库
public class ABC {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入数据:x=");
        //使用nextXxx()获取数据
		int x=sc.nextInt();
        double d=sc.nextDouble();
        float f=sc.nextFloat();
		System.out.print("数据输入成功\n");
		System.out.print(x);
        System.out.print(d);
        System.out.print(f);
	}
}

四)关闭Scanner对象

 对象名.close();

选择——if语句、switch结构

if、switch规则与C完全一样

循环

for循环

规则与C++相同!
在这里插入图片描述

While循环

规则和C++相同!

while循环通常描述未知循环次数的循环!

在这里插入图片描述

数组

两种格式

第一种 C语言数组格式 数组名 [ ]

第二站 C语言动态数组格式 [ ] 数组名

方法(函数)

格式

public static void 方法名(){
//方法体
}

在main中调用,格式与C++调函数相同

不含参
public static void method(){
//方法体
}
参数传递——基本类型
public static void method(int a){
//方法体
}
参数传递——引用类型

与C++不同 参数括号内格式为数组!

public static void method(int []arg){
//方法体
}

面向过程的程序设计举例

学会了以上内容,即可进行面向过程的程序设计!

例:打分系统——综合使用数组、循环结构、if语句、方法及方法调用

import java.util.Scanner;
public class code {
    public static void main(String[] args) {
        double [] a = new double[6];
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入6个得分:");
     for(int i=0;i<a.length;i++)
       {
           a[i]=sc.nextInt();
       }
     func(a);
     print(a);

    }

    public static double  fmax(double []arr){
        double max=arr[0];
        for (int i = 0; i <arr.length; i++) {
             if(arr[i]>max) max=arr[i];
        }
        return max;
    }
    public static double  fmin(double []arr){
        double min=arr[0];
        for (int i = 0; i <arr.length; i++) {
            if(arr[i]<min) min=arr[i];
        }
        return min;
    }
    public static double func(double []b){
        double cnt=0;
        for(int i=0;i<b.length;i++) cnt+=b[i];
        return cnt-fmax(b)-fmin(b);         //去掉最高、最低分
}
	public  static double average(double []b){
    return func(b)/4;
}
    public static void  print(double []d){
        System.out.println("总得分为:"+func(d));
        System.out.println("平均分为:"+average(d));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值