Java学习第1~2章
出自:第1章-入门篇-06-HelloWorld_哔哩哔哩_bilibili
第一章 入门篇
06.输出HelloWorld
常用快捷键:
psvm自动生成Java程序的main方法;
sout自动生成System.out.println();
10.AI时代下正确的学习方法
ALT+P强制生成代码。
ALT+Enter修改错误。
在代码里面分解需求写出注释,按下回车通义灵码可以直接提供建议。

第二章 语法篇
01 字面量
字面量:程序中的数据,Java中存在6种,分别是数据类型、小数类型、字符串类型、字符类型、布尔类型以及空类型。
06 数据类型
ps:大部分基础语法和C++差不多,,,有些已经是肌肉记忆了就不多赘述了。
整数变量的四种基本类型

long类型变量末尾必须是以L结尾。
package com.Crossbar.variable;
public class Variable2 {
public static void main(String args[]) {
long big=1000000000000000000L;
}
}
浮点数的两种基本类型

float类型结尾必须以f或者F结尾,Java中小数的默认类型为double。
float f=1.2f;
字符与布尔
| 类型名称 | 关键字 | 占用字节 | 取值 |
| 字符 | char | 2 | 实例:'a' |
| 布尔 | boolean | 1 | true/false |
08 标识符
硬性规则:①标识符只能由数字、字母、下划线_与美元符号$组成;
②不能以数字开头;
③不能使用关键字;
④区分大小写。
软性建议:见名知意,驼峰命名。
①小驼峰命名法适用于方法和变量;
②大驼峰名民法适用于类名。
09 键盘录入
package com.Crossbar.input;
/*
* 引入java.util包中的Scanner类,以便在当前代码中
* 直接使用该类来实现用户输入(如从控制台读取数据)。
* */
import java.util.Scanner;
public class InputStream {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//接收键盘录入的整数
int num=sc.nextInt();
System.out.println("输入的整数是:"+num);
//接收键盘录入的小数
double num1=sc.nextDouble();
System.out.println("输入的小数是:"+num1);
//接收键盘录入的字符串
String str=sc.next();
System.out.println("输入的字符串是:"+str);
}
}
11 录入参数计算BMI
Varibale2.java
package com.Crossbar.variable;
public class Variable2 {
public static class healthIndex {
private double height;
private double weight;
private double bmi;
private String healthRisk;
//写一个healthIndex的构造函数
public healthIndex(double height, double weight) {
this.height = height;
this.weight = weight;
}
//写一个接口修改healthIndex的属性
public void modify(healthIndex hIndex, double newHeight, double newWeight) {
hIndex.height = newHeight;
hIndex.weight = newWeight;
}
//定义一个接口用来打印healthIndex当前的身高与体重
public void printValues() {
System.out.println("当前身高为:" + this.height + ",体重为:" + this.weight);
}
private void calculateBMI(healthIndex hIndex) {
hIndex.bmi = hIndex.weight / (hIndex.height * hIndex.height);
}
public double getBMI() {
calculateBMI(this);
System.out.println("BMI值为:" + this.bmi);
return this.bmi;
}
private void judgeHealthRisk(healthIndex hIndex) {
if (hIndex.bmi < 18.5) {
hIndex.healthRisk = "消瘦,部分增加";
} else if (hIndex.bmi >= 18.5 && hIndex.bmi < 24) {
hIndex.healthRisk = "正常,没有风险";
}else if(hIndex.bmi>=24&&hIndex.bmi<25){
hIndex.healthRisk="偏胖,轻微增加";
}else if (hIndex.bmi >= 25 && hIndex.bmi < 30) {
hIndex.healthRisk="肥胖,中度增加";
} else {
hIndex.healthRisk="严重肥胖,严重增加";
}
}
public String getHealthRisk() {
judgeHealthRisk(this);
System.out.println("健康风险为:" + this.healthRisk);
return this.healthRisk;
}
}
public static void main(String args[]) {
healthIndex TomHI = new healthIndex(1.7, 80);
TomHI.getBMI();
TomHI.getHealthRisk();
System.out.println("Tom健身了一阵子");
TomHI.modify(TomHI, 1.8,75);
TomHI.getBMI();
TomHI.getHealthRisk();
}
}
InputForBMI.java
package com.Crossbar.input;
import com.Crossbar.variable.Variable2;
import java.util.Scanner;
public class InputForBMI {
static Variable2.healthIndex inputWeightAndHeight() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的身高和体重:");
double iHeight=sc.nextDouble();
double iWeight=sc.nextDouble();
Variable2.healthIndex person = new Variable2.healthIndex(iHeight, iWeight);
return person;
}
public static void main(String[] args) {
inputWeightAndHeight().getBMI();
}
}
13 数值拆分
个位:数值%10
十位:数值/10%10
百位:数值/100%10
或者如下面代码所示:
package com.Crossbar.operator;
import java.util.Scanner;
public class OperatorDemo1 {
static void splitThreeDigit(){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个3位数:");
int num=sc.nextInt();
if(num>=100&&num<=999) {
int a=num/100;
System.out.println("百位数为:"+a);
int b=num%100/10;
System.out.println("十位数为:"+b);
int c=num%10;
System.out.println("个位数为:"+c);
}else{
System.out.println("输入的数字不是3位数!");
return;
}
}
public static void main(String[] args) {
splitThreeDigit();
}
}
15 类型转换
数字运算:类型不一样不能运算,需要转成同类型才能计算。

隐式转换
定义
将取值范围小的转换成取值范围大的是隐式转换,原理是在二进制的格式下在前面补0。
规则
①触发时机:不同类型的数据进行计算,默认采用隐式转换。
②转换步骤:如果有byte short类型的数据,先提升为int类型;把取值范围小的提升为取值范围大的,再进行计算。
比如两个byte类型相加,结果为int类型。
强制转换
①触发时机:强制转换不会自动触发,需要手动书写代码。
②书写格式:目标数据类型 变量名=(目标数据类型)被强转的数据。
22 短路运算符
||和&&
solution1 判断一个四位数是否是回文数
solution2 判断一个两位数是否是7的有缘数(被7整除or个位含有7or十位含有7)
package com.Crossbar.operator;
import java.util.Scanner;
public class NumJudge {
static void palindromicJudge()
{
System.out.println("请输入一个四位数:");
Scanner sc=new Scanner(System.in);
int keyValue=sc.nextInt();
int units,tens,hounds,thous=0;
if(keyValue>=1000&&keyValue<=9999)
{
thous=keyValue/1000%10;
hounds=keyValue/100%10;
tens=keyValue/10%10;
units=keyValue%10;
if(thous==units&&hounds==tens)
{
System.out.println("您输入的是一个回文数");
}else{
System.out.println("您输入的不是一个回文数!");
}
}else{
System.out.println("您输入的不是4位整数!");
}
}
static void sevenNumJudge()
{
System.out.println("请输入一个两位数:");
Scanner sc=new Scanner(System.in);
int keyNum=sc.nextInt();
int tens,units=0;
if(keyNum>=10&&keyNum<=99){
tens=keyNum/10%10;
units=keyNum%10;
if(keyNum%7==0||tens==7||units==7)
{
System.out.println("您输入了一个7的有缘数");
}else{
System.out.println("您输入的不是7的有缘数!");
}
}else{
System.out.println("您输入的不是一个两位数!");
}
}
public static void main() {
sevenNumJudge();
}
}
24 运算符的优先级

更多推荐


所有评论(0)