有c++基础的话,学习java还是比较好理解的.
初学java,首先要安装JDK以及配置环境变量(b站有具体教程)
首先要了解java严格区分大小写,这一点是需要注意的。
检查环境变量是否配置好的方法:
Windows+R 输入cmd
输入javac,java,java -version(注意java与-之间有一个空格),不报错即已经配置好环境变量;
学习java前可以下载一个API文档,来了解java中的类,解决一些问题.
一、书写第一个程序(初步了解java语言的结构,以及输入输出的书写)
可以先使用记事本来编写程序,理解java语言的编译运行过程.后续可以使用Eclipse,IDEA。
java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以“.java”结尾的源文件中
编译:使用javac.exe命令编译我们的java文件,格式:javac 原文件名.java
运行:使用java.exe命令解释运行字节码文件,格式:java 类名
命令行操作:
cd寻找路径
md创建文件目录
rd删除
del删文件
cd..退回上一层文件
2.在一个java源文件中可以声明多个class,但是最多有一个类声明为public。
而且声明为public的类的类名必须与源文件名相同
3.程序的入口是main()方法,格式固定
对于java的输出,有以下几种形式:
System.out.println(“ ”); 先输出数据再换行
System.out.print(“ ”);只输出数据
System.out.println();起换行作用
class Hello{
public static void main(String[] args){ //args为参数名,参数名可以修改
System.out.println("helloworld");}
}
从键盘中获取不同类型的变量(输入),需要使用Scanner类:
具体步骤如下:(获得int型数据)
1. 导包 :import java.util.Scanner;
2. Scanner的实例化:
例如:Scanner scan=new Scanner(System.in);
3.调用Scanner类的相关方法,来获取指定类型的变量
具体代码如下:
import java.util.Scanner;
class test{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
System.out.println(num);
}
}
运行:
Microsoft Windows [版本 10.0.22000.613]
(c) Microsoft Corporation。保留所有权利。
D:\java\code\day02>javac test.java
D:\java\code\day02>java test
123
123
D:\java\code\day02>
类似的:如果想输入String类型数据 改变数据类型,用next()接收
浮点型用nextDouble()或nextFloat()接收
布尔类型用nextBoolean()接收
对于char型数据,Scanner没有提供相关方法,只能获取一个字符串
如果想要获取字符,可以使用索引:
例如 String gender=scan.next();switch
char genderChar = gender.charAt(0);获取索引为0位置上的字符
二、简要概述java的基本语法
①关于注释有以下几种://
/* */
/** */ (此注释是文档注释,与c++的区别之一)
②
java中的布尔型为:boolean
引用数据类型:
类(class)、接口(interface)、数组(array)
容量大小
byte,short,char--> int--> long--> float--> double
当byte,short,char三种类型变量做运算时,结果为int型。
注意:java语言中 如果定义long型或float型数据时:
java的浮点型常量默认为double型,声明float型常量,须后加f或F;
声明long型变量,需后加l或L;
例如:long a=123l;
float b=12.3f;
③if else语句、for循环、switch语句(switch后面使用的表达式只能是如下类型:byte、short、char、int、枚举数据变量、String)、while循环,do-while循环,break,continue语句与c++无差别。
注意:有带标签的break和else,label:
label:for(int i=1;i<=4;i++)
{
for(int j=0;j<=10;j++)
{
if(j%4==0)
{
break label;//结束指定标识的一层循环
}
System.out.print(j);
}
}
补充:
关于随机数的说明:
int value =(int)(Math.random()*90+10);//Math.random()->[0.0,1.0) Math.random()*90+10->[10,99)
[a,b] (int)(Math.random()*(b-a+1))+a
三、数组
定义格式:数据类型[] 数组名 = new 数据类型[]{6,6,6,6,6};
数据类型[] 数组名 = new 数据类型[长度];
数组属于引用数据类型的变量.
1、一维数组
①一维数组的初始化
数组元素是整型:默认初始化值为0
数组元素是浮点型:默认初始化值为0.0
数组元素是char型:默认初始化值为0 或‘\u0000’,而非‘0’
boolean型:默认初始化false
数组元素是引用数据类型:null
public class ArrayTest {
public static void main(String[] args) {
int[] ids;//声明
ids=new int[]{1001,1002,1003,1004};//静态初始化:数组初始化和数组元素赋值操作同时进行
String[] names= new String[5];//动态初始化
②获取数组长度
//属性:length
System.out.println(names.length);
System.out.println(ids.length);
通过循环遍历数组
2、二维数组
①
二维数组与一维数组类似
int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};
String[][] arr = new String[3][2]//三行两列
String[][] arr = new String[3][]
错误写法:String[][] arr = new String[][4];
②获取数组长度方法一样
③遍历数组用二重循环即可
int[][] arr = new int[][]{{1,2,3},{4,5,6,7},{6,7,8}};
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[i].length;j++)
{
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
默认初始化:int[][] arr = new int[4][3];
arr[0]为地址值
arr[0][0]为0
int[][] arr = new int[4][];
arr[1]默认值为null