【java】基本语法

输出

System.out.println("haha");

输入

Scanner in = new Scanner(System.in);
in.nextLine()
in.nextDouble()
in.nextInt()

Scanner in = new Scanner(System.in);
System.out.println("tip:" + in.nextLine());
System.out.println("2+3=" + 5);
System.out.println("2+3=" + (2+3)); //2+3=5

变量

Scanner in = new Scanner(System.in);
int p = in.nextInt();
System.out.println("2+" + p + "=" + (2+p));
//2+8=10

常量

final int amount = 100;
int p = in.nextInt();
System.out.println(amount + "+" + p + "=" + (amount+p));

浮点数

double
当int/double时候:自动转换为double相除
in.nextDouble()

运算符

+ 字符串连接符
注意赋值运算:从右向左
+=,++,–和cpp都是一样的
在这里插入图片描述

类型转换

a = (int)(1.007+2.008)

关系运算

关系运算符优先级比算术低
结合:从左到右
结果为:true,false(t和f是不能比大小的)
浮点数不能用==,采用Math.abs(a-b)<1e-6取绝对值的方式
在这里插入图片描述

判断

语法和cpp一样,后面跟一句话也是一样
if , else, else if

if(a>10){
	System.out.println("a>10");
}

if(a==1){
	System.out.println("if");
}
else{
}

分支

switch case也是和cpp一样
没有break会一直顺着往下运行case

switch(type){
 case 1:
	break;
 default:

}

循环

和cpp一样
while(){}
do{}while();
for(i=0;i<1;i++){}

数组

元素个数可以是变量
编译的时候不会检查越界,运行会报错

int[] numbers = new int[100];//创建数组,new创建默认为0
int[] nums = {12, 23, 1};//创建数组,编译器会自己数出来个数
numbers[10] = 1;//下标访问
int[] array = new int[n];// 可以是变量,但是创建后不能改变
i = array.length;//用length成员获取数组长度

int[] b = a;//a和b是同一个数组,没有创建一个新的数组

//拷贝操作
int[] b = new int[a.length];
for(int i=0; i<b.length; i++)
	b[i]=a[i];

b==a;//判断地址是否相同

数组中的for-each循环

int[] data = {1, 2, 3, 4};
for(int i : data){//循环中每一轮拿出一个数,放在i这个变量中
	System.out.println(i);//可以逐个遍历元素
}

二维数组

int[][] a = new int[5][4];
int[][] a ={
	{1,2,3},
	{1,2},
}
a.length//有几行行
a[1].length//第一行的长度(有几列)

字符

java采用Unicode编码
char类型是可以加减运算的 和cpp中的字符类型一个道理

char c = 'A'
char d = (char)(c + 'A' - a)//大小写转换

逃逸字符 \+ char
在这里插入图片描述

包裹类型

在这里插入图片描述
注意第一个字母大写

int i = 10;
Integer k = i;
System.out.println(Integer.MAX_VALUE);//获得最大范围
System.out.println(Integer.MIN_VALUE);
System.out.println(Character.isDigit('-'));//是否是数字
System.out.println(Character.isLowerCase('a'));//是否是小写
System.out.println(Character.toLowerCase('A'));//转换为小写

字符串

String是一个类,注意开头大写

String s = new String("123");
String s = “haha”;
s = s + "happy"//字符串用+连接
s = in.next();//读入一个单词
s = in.nextLine();//读入下一行
b = a ;//让b指向了和a相同的一个字符串
b.equals(a);//equals比较a和b内容是否相同,==比较的是地址

常用操作
注意:字符串不可以用for-each循环,可枚举的东西才可以
这些操作并不是改变字符串本身,而是创造了一个新的字符串,我们要用一个新的s接受返回值

s1.compareTo(b);//比较大小
int i = s1.length();//获取长度
char a = s.charAt(3);//访问第三个位置的字符
s.substring(2);//从二号位置到末尾的子串
s.substring(2, 4);//取2,3位置的字符
s.indexOf('A')//找A这个字母是否存在,返回位置,没找到返回-1
s.indexOf("abc", 3)//从第三个位置开始找,找子串是否存在,返回第一个找到的位置
s.startsWith(s1);//是否以字符串s1开头
s.endsWith(s2);//是否以字符串s2结束
s.trim();//删掉两端的字符串
s.replace(c1, c2);//把所有的c1都换成c2
s.toLowerCase();//所有变成小写
s.toUpperCase();//所有变成大写

switch-case也可以用字符串(1.7以及以上的版本)

Math类

Math.abs(-12);//取绝对值
Math.roung(10.345);//对小数部分四舍五入
Math.random();//获取随机数
Math.pow(1,2);//1的2次方

方法(函数)

在java里面,只能将值传给函数

package my_first_java;

import java.util.Scanner;

public class Hello {
	
	public static boolean isTrue(int i)//参数
	{
		return true;
	}//函数

	public static void main(String[] args) {
		boolean x = isTrue(1);//值
	}

}

本地变量——函数中的变量———生存期 = 作用域 = 大括号(块)
不能定义重名的变量,不存在覆盖,这和cpp有区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值