main方法快捷键:psvm
输出快捷键:sout

Hello World! 仪式
public class demo01 { public static void main(String[] args) { System.out.
println("Hello World!"); System.out.println("你好,世界!"); } }

Java的main方法

这里学习了命名规范,以及Java中main方法的书写
public class demo01 { public static void main(String[] args) { /* //大小写敏感
String a ="zhouql"; String A ="zhouql"; //规范 String 1a ="zhouql"; String Av
="zhouql"; String $ ="zhouql"; String $1 ="zhouql"; String _ ="zhouql"; String
_1 ="zhouql"; String 1_ ="zhouql"; String -asd ="zhouql"; //不能使用关键字作为变量名或方法名
String clas ="zhouql"; String class ="zhouql"; */ } }
基本数据类型
package base; public class demo02 { public static void main(String[] args) {
//八大基本数据类型 //整型 int num1 = 10; //最常用 //范围在100多 // byte num2 = 200; //short short
num3= 20; //long long num4 = 40L; //Long类型在数字后面加个L表示是long类型 //float 浮点数:小数
float num5 = 12.3F; //float类型加F,否则就报错 double num6 = 3.14159; //字符 char name1 =
'a'; // char name2 = 'as'; //字符是一个 //字符串 //String 不是关键字,是一个类 String num7 = "asd"
; //布尔值 boolean flag = true; //真 boolean fla = false; //假 } }
强制转换以及转义
public class demo03 { public static void main(String[] args) { int i=10; int i1
=010;//ba jin zhi int i2=0x10;//shi liu jin zhi System.out.println(i); System.
out.println(i1); System.out.println(i2); System.out.println(
"==================================================="); float f=0.1f; double d=
1.0/10; System.out.println(f==d); System.out.println(f); System.out.println(d);
System.out.println("==================================================="); float
a=231313123123123189f; float b=a+1; System.out.println(a==b); System.out.
println("===================================================="); char c1='a';
System.out.println("强制转换"); System.out.println((int)c1); System.out.println((int
)'A'); System.out.println("===================================================="
); System.out.println("转义字符"); System.out.println("Hello\tWorld!"); System.out.
println("Hello\nWorld!"); } }

新特性
public class demo06 { public static void main(String[] args) { //JDK新特性,方便看 int
money= 10_0000_0000; System.out.println(money); int years = 20; System.out.
println(money*years); System.out.println("-----------------------------"); long
sum= money*((long)years); System.out.println(sum); } }
命名再认识
public class demo07 { //static 是修饰符,不区分前后 //final 只能读不能修改,不能改变的就定义成常量 static
final double PI = 3.1415926; public static void main(String[] args) { System.out
.println(PI); } } //命名规范 /* * 1,见名之意 * 2,类成员变量驼峰原则 * 3,局部变量首字母小写和驼峰原则 *
4,常量大写和下划线 * 5,类名首字母大写和驼峰 * 6,方法名首字母小写和驼峰 * */
类变量,局部变量,实例变量
package base; public class demo08 { //类变量 static static double salary = 20000;
//实例变量:从属于对象 //实例变量,不初始化,默认值,除了基本类型,其他都是null,布尔值默认是false String name; int age;
//main方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i = 10;
System.out.println(i); //变量类型 变量名 变量值 demo08 demo08 = new demo08(); System.out.
println( demo08.age); System.out.println( demo08.name); //类变量 static System.out.
println(salary); } //其他方法 public void add(){ System.out.println(); } }
运算符部分

加减乘除
public class Demo01 { public static void main(String[] args) { //二元运算符 int a =
10; int b = 20; int c = 30; int d = 10; System.out.println(a+b); System.out.
println(a-b); System.out.println(a*b); System.out.println(a/(double)b); } }
public class Demo02 { public static void main(String[] args) { long a =
12345678L; int b = 123; short c = 10; byte d = 2; System.out.println(a+b+c+d);
//long System.out.println(b+c+d);//int System.out.println(c+d);//int } }
模运算(重点体会)
public class Demo03 { public static void main(String[] args) { //关系 int a = 10;
int b = 20; int c = 21; //取余shu,模运算 System.out.println(c/b); System.out.println(
a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b
); } }
自增自减
public class Demo04 { public static void main(String[] args) { //一元运算符 ++ 自增
-- 自减 int a = 3; int b =a++;//执行完这行代码后,先给b值,是3,然后在自增a的值,此时a是4 System.out.println
(a); int c = ++a;//执行完这行代码前,先自增a的值,此时a是5,然后在赋值 //简单说a++先赋值后递增 ++a先递增后赋值 System.
out.println(a); System.out.println(b); System.out.println(c); //幂运算 double pow =
Math.pow(3,4); System.out.println(pow); } }
逻辑运算
public class Demo05 { public static void main(String[] args) { //与(and) 或(or)
非(no) boolean a = true; boolean b = false; System.out.println(a && b); System.
out.println(a || b); System.out.println(!(a && b)); //短路运算 System.out.println(
"==================="); int c = 5; boolean d = (c<4) && (c++<4); System.out.
println(d); System.out.println(c); } }
位运算(目前了解即可)
public class Demo06 { public static void main(String[] args) { /* * A = 0011
1100 * B = 0000 1101 * * A&B = 0000 1100 两个都是1才为1,否则就是0 * A|B = 0011 1101
都是0,才为0,有一个1,直接为1 * A^B = 0011 0001 相同为0,不相同为1 * ~B = 1111 0010 取反 * * * >>右移
*2 <<左移 /2 * 效率极高 * 0000 0000 0 * 0000 0001 1 * 0000 0010 2 * 0000 0011 3 *
0000 0100 4 * * 0001 0000 16 * …… * */ } }
小拓展
public class Demo07 { public static void main(String[] args) { int a = 10; int
b= 20; a+=b; a-=b; System.out.println(a); System.out.println(a+b); //字符串连接
String System.out.println(""+a+b); System.out.println(a+b+""); } }
获取数据输入,简单交互,类似C语言scanf

注意一点,IO流使用完记得释放
import java.util.Scanner; import static java.lang.System.in; public class
Demo01 { public static void main(String[] args) { //创建一个扫描器对象。用来接受键盘数据 Scanner
scanner= new Scanner(System.in); System.out.println("使用next方式接收"); if(scanner.
hasNext()){ String str = scanner.next(); System.out.println("输入的内容为"+str); }
import java.util.Scanner; public class Demo02 { public static void main(String[]
args) { Scanner scanner = new Scanner(System.in); System.out.println(
"输入,nextline"); if(scanner.hasNextLine()){ String s = scanner.nextLine(); System
.out.println(":"+s); } scanner.close(); } } import java.util.Scanner; public
class Demo03 { public static void main(String[] args) { Scanner scanner = new
Scanner(System.in); System.out.println("输入"); String str = scanner.nextLine();
System.out.println("输入的是:"+str); scanner.close(); } } mport java.util.Scanner;
public class demo04 { public static void main(String[] args) { Scanner scanner =
new Scanner(System.in); int i = 0; float f = 0.0f; System.out.println("输入"); if(
scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println(":"+i); }else{
System.out.println("输入的不是整数"); } scanner.close(); } } import java.util.Scanner;
public class Demo05 { public static void main(String[] args) { int score = 0 ;
Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩,童鞋"); int s
= scanner.nextInt(); if(s>=60 && s<=100){ System.out.println("恭喜,没挂科"); }else if
(s>=0 && s<60){ System.out.println("额,你懂"); }else{ System.out.println("不是整数"); }
scanner.close(); } } public class Demo06 { public static void main(String[]
args) { char grade = 's'; switch (grade){ case 'a': System.out.println("优秀");
break; case 'b': System.out.println("良好"); break; case 'c': System.out.println(
"及格"); break; case 'd': System.out.println("再接再厉"); break; default: System.out.
println("未知等级"); } } } public class Demo07 { //JDK7开始支持字符,字符的本质还是数字 //反编译
java---class(字节码文件)-----反编译(IDEA) public static void main(String[] args) {
String name = "小张"; switch (name){ case "刘森": System.out.println("刘森"); break;
case "小张": System.out.println("小张"); break; default: System.out.println("弄啥嘞");
} } }
循环
public class Demo01 { public static void main(String[] args) { int i = 0; while
(i<100){ System.out.println(i); i++; } } } public class Demo02 { public static
void main(String[] args) { int i = 0; int sum = 0; while (i<=100){ sum+=i; i++;
} System.out.println(sum); } } public class Demo03 { public static void main(
String[] args) { int i = 0; int sum = 0; do { sum+=i; i++; }while (i<=100);
//注意分号 System.out.println(sum); } } public class Demo04 { public static void
main(String[] args) { int a = 0; while (a<0){ System.out.println(a); a++; }
System.out.println("======================"); do{ System.out.println(a); a++; }
while (a<0); } } public class Demo05 { public static void main(String[] args) {
int sum = 0; for (int i = 1;i<=100;i++){ sum+=i; System.out.println(i); } System
.out.println(sum); } } //死循环 //for(;;) public class Demo06 { public static void
main(String[] args) { int a = 0; int b = 0; for (int i = 0; i < 100; i++) { if(i
%2==0){ a+=i; }else{ b+=i; } } System.out.println("偶数和是:"+a); System.out.println
("ji数和是:"+b); } public class Demo07 { public static void main(String[] args) {
int i = 0; while (i<=1000){ i++; if(i%5==0){ System.out.print(i+"\t"); } if(i%(
15)==0){ System.out.println(); } } } } //输出完会换行 println //输出完不会换行 print
99乘法表
public class Demo08 { public static void main(String[] args) { for (int i = 1;i
<=9;i++){ for (int j = 1;j<=i;j++){ System.out.print(i+"*"+j+"="+(i*j)+'\t'); }
System.out.println(); } } } package 循环; //JDK5,重点循环数组和集合 public class Demo09 {
public static void main(String[] args) { int[] numbers = {10,20,30,40,50,60};
//便利数组的元素 for (int x:numbers){ System.out.println(x); } } }
//continue;跳过某次循环(妹子) //break;强制推出循环(凶) public class Demo10 { public static void
main(String[] args) { int i = 0; while (i<100){ i++; if(i>50&&i<60){ continue; }
System.out.println(i); } } } //打印101~150的质数 //质数大于1的自然数中,除了1和它本身以外不在有其他因数的自然数
public class Demo11 { public static void main(String[] args) { int i = 0; outer:
for (int a = 101;a<150;a++){ for(int b = 2;b<a/2;b++){ if(a%b ==0){ continue
outer; } } System.out.print(a+" "); } } } public class Demo12 { public static
void main(String[] args) { for (int i = 0; i <=5; i++) { for (int j = 5; j >=i ;
j--) { System.out.print(" "); } for (int j = 0; j <=i ; j++) { System.out.print
("*"); } for (int j = 0; j < i; j++) { System.out.print("*"); } System.out.
println(); } } }
方法

个人理解Java的方法可以与C的核心函数理解一致
在main外写方法,叫着不舒服,可以暂时叫函数,保证main函数的整洁,其次就是在main方法中的调用,后来你会发现,它不仅仅用在main中……
public class Demo01 { //main方法 public static void main(String[] args) { int add
= add(1,5); System.out.println(add); print(); System.out.println(max(3,3)); }
//假发 public static int add (int a,int b){ return a+b; } //void public static
void print(){ System.out.println("Hello World!"); } //最大值 public static int max(
int a,int b){ int c = a>b?a:b; return c; //1.返回值 //2.种植方法 } }

方法重构,就是一个方法,假设我比较大小的方法,小明需要比较两个数的大小,小红需要比较三个人的方法,这是只需要重新写一个名字一样,参数不一样,实现过程不一样就实现了函数的重构
public class Demo02 { public static void main(String[] args) { System.out.
println(max(2.6,4.8,3.6)); } public static int max(int a,int b){ int c = a>b?a:b
; return c; } public static double max(double a,double b){ double c = a>b?a:b;
return c; } public static double max(double a,double b,double c){ if(a>b){
return a; }else if(b>c){ return b; }else{ return c; } } }
可变长参数
public class Demo03 { public static void main(String[] args) { Demo03 demo03 =
new Demo03(); demo03.test(1,234,45,4,6); } public void test(int... i){ System.
out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); System.
out.println(i[3]); System.out.println(i[4]); } } public class Demo04 { public
static void main(String[] args) { printMax(34,56,34,78,89); printMax(new double[
]{1,2,34}); } public static void printMax(double... numbers){ if(numbers.length
== 0){ System.out.println("没有输入"); return; } double result = numbers[0]; for(int
i= 1; i<numbers.length;i++){ if(numbers[i]>result){ result = numbers[i]; } }
System.out.println("the max value is "+result); } }
递归,简单说就是传递乌龟,哈哈
就是自己调用自己,自己返回给自己
//递归头 //递归体 public class Demo05 { public static void main(String[] args) {
Demo05 demo05 = new Demo05(); demo05.test(); } public void test(){ test(); } }
实例,计算n地阶乘
public class Demo06 { public static void main(String[] args) { int c = f(4);
System.out.println(c); } public static int f(int n){ if(n == 1){ return 1; }else
{ return n*f(n-1); } } }

值得注意地是,Java语言用地栈机制,而递归操作,需要大量的计算机资源,往往面对稍大地需求,Java预置的空间根本不够递归完,所以谨慎使用,不过要理解递归,感受递归之美!!!快来手撕代码吧

技术
©2019-2020 Toolsou All rights reserved,
Python学习笔记(一)Linux【shell】 shell编程创建一个线程——— Javaweb (3)evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possibleVMware 16安装centos 7详细教程C语言做一个简易的登陆验证(功能)界面C语言——qsort函数Spring Boot面试必问:自动配置原理Android EditText密码显示隐藏Qt入门教程【基础控件篇】QCalendarWidget日历控件