基本语法
新建项目
- 选中空项目
- 文件命名,保存文件位置
- 文件,new,模块
- 模块命名,完成出现src
- 项目结构:SDK选择1.8,语言等级设置为8,应用+完成
- 在src中新建com,在com中新建xin,在xin中写base,scanner等
关键字
- 用于定义数据类型的关键字
class | interface | enum | byte |
---|---|---|---|
short | int | long | float |
double | char | boolean | void |
- 用于定义流程控制的关键字
if | else | switch | case |
---|---|---|---|
default | while | do | for |
break | continue | return |
- 用于定义访问权限修饰符的关键字
private | protected | public |
---|
- 用于定义类,函数,变量修饰符的关键字
abstract | final | static | synchronized |
---|
- 用于定义类与类之间关系的关键字
extends | implements |
---|
- 用于定义建立实例及引用实例,判断实例的关键字
new | this | super | instanceof |
---|
- 用于异常处理的关键字
try | catch | finally |
---|---|---|
throw | throws |
- 用于包的关键字
package | import |
---|
- 其他修饰符关键字
native | strictfp | transient |
---|---|---|
volatile | assert |
- 用于定义数据类型值的字面值
true | false | null |
---|
保留字
goto | const |
---|
注意:
所有关键字都是小写
标识符:
- Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
- 技巧:凡是自己可以起名字的地方都叫标识符。
定义合法标识符规则:
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头。
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。
Java中的名称命名规范:
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写: xxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
变量
变量的概念:
- 内存中的一个存储区域
- 该区域的数据可以在同一类型范围内不断变化
- 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
使用变量注意:
- Java中每个变量必须先声明,后使用
- 使用变量名来访问这块区域的数据
- 变量的作用域:其定义所在的一对{}内
- 变量只有在其作用域内才有效
- 同一个作用域内,不能定义重名的变量
String应用
package com.xin.base;
public class Day71000 {
public static void main(String[] args) {
char a='a';
int c=10;
String b="hello";
System.out.println(c+a+b);//107hello
System.out.println(b+a+c);//helloa10
System.out.println(a+(c+b));//a10hello
System.out.println(a+c+b);//107hello
}
}
从String之后都是String
可以使用空字符“ ”来转化其它变量
进制转化
符号位 |
---|
符号位:0为正数,1为负数
二进制
- Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位
- 二进制的整数有如下三种形式:
-
- 原码:直接将一个数值换成二进制数。最高位是符号位
- 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
- 负数的补码:其反码加1。
计算机以二进制补码的形式保存所有的整数。
- 正数的原码、反码、补码都相同
- 负数的补码是其反码+1
计算机底层都以补码的方式存储数据
运算符
算术运算符
- %:取余运算
结果的符号与被模数相同
- 前++:先自增,后运算(不会改变自己的数据类型)
- ++后:先运算,后自增
int n=10;
n+=(n++)+(++n);//n=n+(n++)+(++n)//10+10+12=32
逻辑运算符(短路),如果一个就已知结果,就不执行后面操作
b=1;
a=false& b++//b=2
a=false&& b++//b=1
练习
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。
- 如果用户输入的数匹配彩票的实际顺序,奖金10000美元。
- 如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3000美元。
- 如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1000美元。
- 如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
- 如果用户输入的数字没有匹配任何一个数字,则彩票作废。
提示:使用(int)(Math.random() * 90+10)产生随机数。
Math.random() : [0,1) * 90 >[0,90)+ 10→[10,100)>[10,99]
package com.xin.base;
import java.util.Scanner;
public class Day71202 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("请输入一个两位数");
int sum = scanner.nextInt();
int randSum = (int) (Math.random() * 90 + 10);
System.out.println("彩票号码"+randSum);
String sum1 = String.valueOf(sum);
//这个语句的意思是将sum这个变量的值转换成一个字符串,并赋值给sum1这个字符串变量。
// String类中有一个静态方法valueOf(),它可以接受不同类型的参数,
// 比如boolean, char, int, long, float, double等,并将它们转换成字符串
String sum2 = String.valueOf(randSum);
//将String的元素用char拿出来
char first1 = sum1.charAt(0);
char secong1 = sum1.charAt(1);
char first2 = sum2.charAt(0);
char secong2 = sum2.charAt(1);
if (sum == randSum) {//输入的数匹配彩票的实际顺序
System.out.println("奖金10000美金");
} else if (first1 == secong2 && first2 == secong1) {//输入的所有数字匹配彩票的所有数字,但顺序不一致
System.out.println("奖金3000美金");
} else if (first1 == first2 || secong2 == secong1) {//输入的一个数字仅满足顺序情况下匹配彩票的一个数字
System.out.println("奖金1000美金");
} else if ((first1 == first2 || secong2 == secong1) || (first1 == secong2 || first2 == secong1)) {//用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字
System.out.println("奖金500美金");
} else {
System.out.println("彩票作废");
}
// scanner.close();//要持续输入,不能关扫描
}
}
}
第二种方法
package com.xin.base;
import java.util.Scanner;
public class Day71203 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入2位数");
int sum=scanner.nextInt();
int randSum=(int)(Math.random()*90+10);
System.out.println("彩票号码"+randSum);
if (sum==randSum){
System.out.println("奖金10000美金");
} else if (sum/10==randSum%10&&sum%10==randSum/10) {
System.out.println("奖金3000美金");
} else if (sum/10==randSum/10||sum%10==randSum%10) {
System.out.println("奖金1000美金");
} else if (sum/10==randSum%10||sum%10==randSum/10) {
System.out.println("奖金500美金");
}else {
System.out.println("彩票作废");
}
}
}
}
标签:基本,10,String,int,System,语法,println,out
From: https://www.cnblogs.com/xin-zhi-suo-xiang/p/17547231.html