Java 基础语法快速入门

前言

该提纲是针对有C语言或者C++语言基础的同学,帮助同学快速掌握Java区别与C和C++的部分。在本提纲中,在如运算符、与或非等三种语言相似的语法部分跳过,对于Java特立独行的点加以概述,可以作为有C语言基础学习Java语法的入门提纲。

代码一般简单结构

import 全类名;//一般都可以在写用回车直接打印

public class 类名 {  
    public static void main(String[] args) {  //可以用main加回车直接打印public static void main(String[] args)
    各种语句;
    }  
}

常用数据类型

  1. 整数
  • int i = 1000;
  • 字节数类型范围
    1byte-128~+127
    2short-32768~+32767
    4int-21亿~+21亿
    8long
  1. 小数
  • double d = 3.14;
  • 字节数类型范围
    4float
    8double
  • Math.random()可以产生一个0.0~1.0之间的随机小数(想要产生随机整数,可以乘以10后用强制类型转换)
  1. 字符
  • char c = '中';
  • 不仅可以用英文字符,也可以直接用中文字符
  1. 字符串
  • String s = "中国";
  • 可以直接用中文字符串
  • String的首字母大写
  • 比较用equals():yesno.equals("yes")会得出一个布尔值
  1. 布尔
  • boolean bool1 = false;
  • boolean定义
  • 不是数值,是真假概念
  1. 数据类型的转换
  • 如果一个操作数是double,则整个表达式提升为double
  • 自动类型转换的条件:两种类型要兼容,目标类型大于源类型
  • 强制转换:char c2=(char)(c1+i);

变量与常量

  1. 常量
  • 用final修饰,例:final int AGE = 18;
  • 命名规则:全部大写,如果多个单词用_隔开,如:AGE、MAX_VALUE
  • 无法更改
  1. 变量
  • 命名规则:首字母是字符、$、_,后面除首字母要求外还可以是数字
  • 不能是关键字
  • 小驼峰命名法:第一个字母是小写,如myAge(类命名用大驼峰法)

Scanner用法

  1. 例子:
import java.util.Scanner;  
  
public class demo1 {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
        System.out.println("请输入你的名字:");  
        String name = scanner.next();  
        System.out.println("你的名字是:"+name);  
    }  
}
  • import java.util.Scanner; 引入声明,在Scanner后用回车会自动生成
  • Scanner scanner = new Scanner(System.in);是固定写法
  • String name = scanner.next();等待输入
  1. 输入不同的变量
  • 整数:int age = scanner.nextInt();
  • 小数:double money = scanner.nextDouble()
  • 字符串:String name = scanner.next();

条件语句

  1. if的结构
if (条件1){
    执行语句1;
}else if(条件2){
    执行语句2;
}else if(条件3){
    执行语句3;
}else{
    执行语句4;
}
  • 和C不同,必须按照这种结构来
  • {}内只有一条执行语句时,{}可以省略
  1. switch
switch(数据类型){
    case 数据1:
        执行语句1;
        break;
    case 数据2:
        执行语句2;
        break;
    default:
        执行语句3;
        break;
}
  • 支持的数据类型:byte、short、int、char、String
  • 不支持的数据类型:long、flaot、double
  • 可以通过break的有无合理设置透传

循环结构

  1. while循环
while(条件){
    循环的内容;
    更新条件;
}
  1. do while循环
do{
    循环的内容;
    更新条件;
}while(条件); 
  1. for循环
for(声明初始化循环变量;条件;更新){
    循环体;
}
  1. foreach输出
for(int a:arr){
    System.out.println(a);
}
  • 每次将int型数组arr的一个值返回a中加以输出
  1. break和continue同C语言

数组

  1. 基本的定义与赋值
int[] arr; //声明
arr = new int[3]; //分配空间
arr[0] = 1; //赋值
arr[1] = 2;
arr[2] = 3;
  1. 省略写法
int[] arr = new int[]{1,2,3};

再简化

int[] arr = {1,2,3};
  1. length的用法
System.out.println(arr.length);//得长度
  1. Arrays的用法
  • Arrays.sort(arr);可以将数组由小到大排序
  • System.out.println(Arrays.toString(arr));可以将数组数字变成字符串,方便输出
  • System.out.println(Arrays.equals(arr1,arr2));可以比较两个数组是否相等(长度相等+内容相等)
  • Arrays.fill(array,val);可以把数组array的所有元素赋值为val
  • array2=Arrays.copyOf(array1,length);可以把数组array2复制成一个长度为length的array1数组
  • num=Arrays.binarySearch(array,val);可以查询val在数组的下标(前提:必须按升序排序后才可以用)

函数

  1. 常用定义结构
public static void/int等 方法名(参数列表){
    方法体;
    void无返回,int等有返回:return **;
}
  1. 函数的重载
  • 方法名相同
  • 参数列表不同(看类型)
  • 与返回值无关
  • 例子:
public class Demo01{

    public static void main(String[] args){
        f01(1.0);//用的double的f01
        f01(1);//用的int的f01
    }

    public static void f01(double money){
        System.out.println("double被调用");
    }

    public static int f01(int age){
        System.out.println("int被调用");
        return 100
    }
    
}
  1. 传参
  • 同C语言
  • 基本数据类型传值,在函数里改值不影响函数外
  • 引用数据类型地址,在函数里改值影响函数外

文件操作

  1. 文件操作入门例子:
    利用递归展示文件夹下所有文件
import java.io.File;

public class Demo02{

    public static void main(String[] args){
        showFiles(new File("路径"));
    }
    
    public static void showFiles(File[] file){
        File[] files = file.listFiles();//枚举文件夹file对象下所有文件或文件夹
        for(File f:files){
            if(f.isFile()) System.out.println(f.getName);//文件
            if(f.isDirectory()) showFiles(f);//递归调用文件夹
        }
    }
    
}
  1. 这里只针对Java的基础语法,其他的文件操作就不一一列举了
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值