一个应用程序必须要有一个主方法,也只能有一个主方法
package day01;
public class OneDay01 {
//主方法(main),一个应用程序必须要有一个主方法,也只能有一个主方法
public static void main(String[] args) {
//定义一个字符串类型变量,并赋值(String)
String name="tony tang";
//整形类型变量(int)
int age=30;
//输出控制台(System.out.println("");)
System.out.println("your name is:"+name);
System.out.println("your age is:"+age);
}
}
关系运算符用于比较两个数值的大小,运算结果是一个布尔值(boolean)(true/false)。
逻辑运算符用于两个布尔型的变量或常量的运算。逻辑运算符主要有6个
&&(与) | 前后两个操作数必须都是true才能返回true(进行下一步操作),否则返回false(运行不了) |
---|---|
||(或) | 只要有两个操作数中有一个是true,就可以返回true,否则返回false |
!(非) | 只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true |
^(异或) | 当两个操作数结果(true/false)不同时返回true,否则返回false |
!(非)的具体实例:
package day01;
public class OneDay01 {
public static void main(String[] args) {
System.out.println(!false);
//运算结果:true
}
}
结构: boolean表达式:(?) 表达式1:表达式2
条件运算符的规则:
(1) 先计算boolean表达式;
(2) 如果boolean表达式的值为true,则整个表达式的值为表达式1的值
(3) 如果boolean表达式的值为false,则整个表达式的值为表达式2的值
例如,如下代码:
package day01;
public class OneDay01 {
public static void main(String[] args) {
int a = 100, b = 200;
int flag = a>b?1:-1;
System.out.println(flag);
//运算结果:-1
}
}
条件运算符的嵌套: 条件运算符可以嵌套使用
结构:boolean表达式:(?) 表达式1:表达式2 (条件表达式)
例如,如下代码:
package day01;
public class OneDay01 {
public static void main(String[] args) {
int a = -3;
String flag = a>0?"正数":(a==0?"0":"负数");
System.out.println(flag);
//运算结果:负数
}
}
控制台输入的方法有很多种,常用的一种是使用Scanner
(1) 例如 从控制台接收一行字,再原样输出到控制台,如下代码:
package day01;
import java.util.Scanner;
public class OneDay01 {
public static void main(String[] args) {
//Scanner 是一个类,在JDK java.util.Scanner
//System.in 表示标准输入(字节输入流),通常指从键盘输入数据
//sca 是一个自定义的实例化对象,调用类的方法就是定义实例化对象
Scanner sca = new Scanner(System.in);
//nextLine()[输入的数据为字符数据] 在 java.util.Scanner 方法摘要中,表示从控制台读取数据
String text = sca.nextLine();
//输出数据
System.out.println("输出原样数据:"+text);
}
}
(2) 例如 从控制台获取一个数字,并对这个数字求二次方后输出到控制台,如下代码:
Math 函数的运用:
//pow 在 java.lang 中的 Math 类中。
//pow(double a,double b)内容数据为double类型
//Math.pow(double a,double b) 是将第一个参数a次幂b次,返回一个第一个参数次幂的值
//Math.ceil(double) 函数返回大于或等于一个给定数字的最小整数
//Math.sqrt(double) 函数返回double的平方根
package day01;
import java.util.Scanner;
public class OneDay01 {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
//从控制台获取一个Double类型的数字
/*在控制台输入某个数据时,如果输入的是#PCDATA类型,则为String和nextLine(两个对应);
* 如果为数字且是double类型的,则为double和nextDouble(两个对应)。其他类型也是如此*/
double in = sca.nextDouble();
//pow 在 java.lang 中的 Math 类中。
//pow(double a,double b)内容数据为double类型
//Math.pow(double a,double b) 是将第一个参数a次幂b次,返回一个第一个参数次幂的值
//Math.ceil(double) 函数返回大于或等于一个给定数字的最小整数
in = Math.pow(in,2);
System.out.println(in);
}
}
(3) 例如 除了获取字符串 (String) 和 double 数据类型外,还可以获取其他数据类型,如下代码:
package day01;
import java.util.Scanner;
public class Text01 {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
//输出提示信息
System.out.println("请输入你的年龄:");
//获取整数
int age = sca.nextInt();
//输出提示信息
System.out.println("请输入你的姓名:");
//获取字符串
/* .next() 是类(Scanner)中的一个方法,同时.next() 方法是一个阻塞的方法,
* 当程序执行到这里时会出现阻塞,只有在控制台(Console)输入相应的数据并按回车键后,才能往下执行
*/
String st = sca.next();
System.out.println("你的名字是:"+st);
System.out.println("你的年龄是:"+age);
}
}
编程中常用到随机数
例如,如下代码:
package day01;
import java.util.Random;
public class Text01{
public static void main(String[] args) {
//生产Random(随机数)对象
Random rd = new Random();
//得到0~99之间的随机数
int in = rd.nextInt(99);
//得到一个0.0~1.0之间的随机浮点数
double db = rd.nextDouble();
/* double db = Math.ceil(rd.nextDouble()); Math.ceil 的运用*/
//输出产生的随机数
//运算结果为随机数
System.out.println(in);
System.out.println(db);
}
}
测试String类中常用方法的使用
例如,如下代码:
/*该案例用来测试String类的常用方法*/
package day01;
public class Text01{
public static void main(String[] args) {
String s1 = "hello,hehe,haha,heihei,xixi";
String s2 = " he llo ";
String s3 = "haha";
//.trim() —— 去掉s2字符串两端的空白
System.out.println(s2.trim());
//.length() —— 获取字符串长度
System.out.println(s2.length());
//获取s3字符串在s1字符串中的索引位置
//x1.indexOf(x2) —— 表示获取x2在x1中的位置
System.out.println(s1.indexOf(s3));
//获取索引为1位置上的字符
//.charAt(x) —— 表示获取位置为X的字符
System.out.println(s1.charAt(1));
//.equals —— 判断两个字符串(string)的内容是否相等,若相同则返回true 否则为false
//.equalsIgnoreCase —— 判断两个字符串(string)的内容是否相等,不考虑大小写,若相同则返回true 否则为false
System.out.println(s3.equals("haha"));
System.out.println(s3.equalsIgnoreCase("HaHa"));
//截取s1字符串中的子串,从索引为6的位置开始
//.substring(int a) —— 返回一个新的字符串,它是此字符串的一个子字符串 该子字符串从索引位置开始,直到此字符串末尾
//.substring(int a,int b) —— 子字符串从a开始,包含a;到b结束,不包含b-(b-1).
System.out.println(s1.substring(6));
System.out.println(s1.substring(6,10));
//以","为分隔符,将字符串拆分为字符数组
String[] ss = s1.split(",");
for(int i=0;i<=s1.length();i++) {
System.out.println(ss[i]+" ");
}
}
}
结构公式:类名 实例化对象 = new 类名();
结构公式:实例化对象.类方法(xx);