复习部分:跨平台是需要版本号一致!(JVM=JRE)
JAVA(作为程序员我们主要操作的是这一部分)-->JVM-->OS
环境变量:JAVA_HOME;Path(echo %Path%检查path是否正确);classpath找到字节码文件。
一个Java源文件可以有多个class,但是只有一个public;main是程序入口方法;public static void main(String args[])
学习开始
今天主要学习的是Java的基础语法!!!
今天主要学习的是Java的基础语法!!!
数据类型:
1、整数部分:
1、整数部分:
byte(存储的最小单位8bit)-128~127(0代表正数1代表负数)--1B
short--2B
int--4B
long--8B
浮点数--精度损失符号位+指数+尾数(3.14默认为double赋值给float为3.14F)
float--4B
double--8B
byte-->short-->int-->long-->float-->double(从左往右可以很好的转型,且不会丧失精度,但是从右往左则不可以,容易丢失精度,且整数默认int型,浮点数默认double型)
byte-->short-->int-->long-->float-->double(从左往右可以很好的转型,且不会丧失精度,但是从右往左则不可以,容易丢失精度,且整数默认int型,浮点数默认double型)
字符型
char--只有正数(字母或者汉字)0~65535--2B一次只可以编译一个字母或者汉子例如 'a' or 你'
布尔型
boolean---true/false 基本不会转型
赋值:
年龄--int age=28;//赋值操作
short age = 30;
练习程序如下:
练习程序如下:
public class Range{
public static void main(String[] args){
int a = 10;
int b = 20;
int c = a + b ;
byte d = (byte)(c + a);
long e = 199;
long f = 123;
float g = e + f;
double h = 12.2;
double o = 12.3;
//long m = h + o;
long m = (long)(h + o);
System.out.printf("%d%n",c);
System.out.printf("%d%n",d);
System.out.printf("%f%n",g);
System.out.printf("%d%n",m);
}
}
注释:注意定义变量的范围问题和默认类型问题
public static void main(String[] args){
int a = 10;
int b = 20;
int c = a + b ;
byte d = (byte)(c + a);
long e = 199;
long f = 123;
float g = e + f;
double h = 12.2;
double o = 12.3;
//long m = h + o;
long m = (long)(h + o);
System.out.printf("%d%n",c);
System.out.printf("%d%n",d);
System.out.printf("%f%n",g);
System.out.printf("%d%n",m);
}
}
注释:注意定义变量的范围问题和默认类型问题
四则运算:
int -->long
int a = 100;byte b = a;向上转型和向下转型问题!
正数三码统一,负数原码取反得到反码,反码加上1得到补码
and or xor
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
练习题
做一道值交换的练习!
public class Exchange{
public static void main(String[] args){
int a = 10;
int b = 20;
int c = 30;
int d = a|b|c;
boolean flag1 = (d & c)==c;
boolean flag2 = (d & a)==a;
System.out.println(flag1);
System.out.println(flag2);
System.out.println(b & d);
}
}
public class Exchange{
public static void main(String[] args){
int a = 10;
int b = 20;
int c = 30;
int d = a|b|c;
boolean flag1 = (d & c)==c;
boolean flag2 = (d & a)==a;
System.out.println(flag1);
System.out.println(flag2);
System.out.println(b & d);
}
}
public class Exchange1{
public static void main(String[] args){
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
int e = 12;
int f = 13;
int h = e;
e = f;
f = h;
System.out.println(a);
System.out.println(b);
System.out.println(e);
System.out.println(f);
}
}
public static void main(String[] args){
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
int e = 12;
int f = 13;
int h = e;
e = f;
f = h;
System.out.println(a);
System.out.println(b);
System.out.println(e);
System.out.println(f);
}
}
控制流程语句:
分支: if if...else switch
循环:for while do...while
编写if else/switch判断语句、加减运算符和成绩判断程序Exchange3
import java.util.Scanner;
public class Exchange3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num >= 90 && num <= 100 ) {
System.out.println("优秀!");
}else if (num >= 70 && num <= 89) {
System.out.println("良好!");
}else if (num >= 60 && num <= 69) {
System.out.println("及格!");
}else {
System.out.println("你么有考及格啊!要好好努力了哦!");
}
System.out.println("*********************************************");
/* int a = 10;
int b = 20;
char c = '*';
if (c == '+') {
System.out.println(a+b);
}
if (c == '-') {
System.out.println(a-b);
}
if (c == '*') {
System.out.println(a*b);
}
if (c == '/') {
System.out.println(a/b);
}
*/
int a = 10;
int b = 20;
char c = '$';
switch (c) {
case '+':
System.out.println(a+b);
break;
case '-':
System.out.println(a-b);
break;
case '*':
System.out.println(a*b);
break;
case '/':
System.out.println(a/b);
break;
default:
System.out.println("你输入的不符合四则运算!!");
break;
}
}
}
循环:
for(条件1;条件2;条件3) { 执行语句}
条件1:初始化(int a = 0,...)执行一次
条件2:boolean类型(true执行语句,false跳出循环)
条件3:执行语句完毕后进行,然后再次条件2...无限判断直到跳出
while(true){执行语句... }
do{执行语句}while(判断语句是否继续执行};
1、输出0~9数字
2、计算1~100的和
3、课本81页的第二题
4、99乘法表
public class Exchange4 {
public static void main (String[] args) {
//Scanner sc = new Scanner(System.in);
//int ch = sc.nextInt();
for (int a = 1;a < 10;a++) {
System.out.println(a);
}
int sum = 0;
for (int i = 0;i <= 100;i++) {
sum += i;
}
System.out.println(sum);
for (int h = 100;h < 1000;h++) {
int b = h/100;
int c = h%100/10;
int d = h%100%10;
if(h == b*b*b+c*c*c+d*d*d) {
System.out.println(h);
}
}
for (int i = 1;i < 10;i++) {
for (int j = 1;j <= i;j++) {
System.out.print(j + "*" + i+ "="+( j * i )+ "\t");
}
System.out.println();
}
}
}
注释:\t 制表格、\n换行