市场最具竞争力,专业技能,随着软件技术成熟,时代发展,软件工程师学习核心重点发生变化
1)早期程序员20年前,学习重点五笔字型(练习打字120),网络建网,语言入门c,vb
2)早期程序员10年前,聊QQ,播客,基础是语言vb,c#,java,框架:ejb/struts1/struts2/spring3.x/hibernate 旧三大框架(好,事半功倍,安全,性能;坏,不能洞察里面 到底干嘛了,不透彻)开发者首先要解决客户的问题(业务),把东西他先能用先。之后再去搞清底层原理。
3)现今程序员,互联网架构nginx+redis+mycat+docker,天生就可以做大型项目
学习培优重点,不在java基础,不在javaweb网站,在框架新三大框架 springmvc+spring5.x+mybatis,互联网架构:分布式、高并发、高可用,海量数据(大数据),架构
语言:盖茅草屋;(初级程序员4k)框架:5层楼;(中级程序员8k)架构:迪拜大厦;(零基础10k,工作过2年15k,工作3年18k,工作4年30k)
最终目标:走向架构师。
思考怎么实现:开发步骤
1)创建java工程
2)创建包
3)创建类
4)创建main方法
5)写代码,打印信息到控制台
6)运行
main两种:
1)创建类时可以指定它的模板 eclipse
2)快捷键
package cn.tedu.hello;
public class Hello {
//eclipse定义一些快捷缩写: main ALT+/(预定义)死记提高开发效率
public static void main(String[] args) {
//打印 syso ALT+/,Ctrl+Z回退
System.out.println("欢迎大家来学习java培优大数据课程");
System.out.println("Hello");
//运行java代码也有快捷方式,上面的播放按钮它记录的是最后一次的执行方式
//第一次使用鼠标右键,之后代码改变,就可以直接运行快捷键按钮
}
}
在java语言中有一些特定含义单词,而这些单词不允许开发者自己去使用。这些单词就称为关键字。
java中提供50+个关键字。最高版本1.16(16),主流1.8(8)
每个关键字都有其特殊含义,有其特定的语法
关键字是java使用,不让开发者去使用;标识符是给开发者使用的,开发者可以自己定义,自己使用。
变化的量,定义一个内容,内容可以发生改变
一旦定义好,不允许改变,不是一个变化的量
需求:
1)数学计算,操作符号,操作数
package cn.tedu.base; //包路径
//定义测试类Test,变量和常量
public class TestVar {
// 必须使用快捷方式,提高开发速度
public static void main(String[] args) {
// 定义变量
// 定义整数,实现加法,a+b
int a = 10; // 定义一个整型int的变量a,给a赋值10
int b = 20; // 定义一个变量b,赋值20
System.out.println(a + b); // 先获取变量的值,然后累加,最后打印
}
}
package cn.tedu.base; //包路径
//定义测试类Test,变量和常量
public class TestVar {
// 必须使用快捷方式,提高开发速度
public static void main(String[] args) {
// 定义变量
// 定义整数,实现加法,a+b
int a = 10; // 定义一个整型int的变量a,给a赋值10
int b = 20; // 定义一个变量b,赋值20
System.out.println(a+b); // 先获取变量的值,然后累加,最后打印
//Duplicate local variable a 局部变量,在方法中定义变量
//在同一个方法中,一个局部变量的名称不能声明两次
a = 20; // 不能再次定义,但可以再次赋值,覆盖原有值,变量特点。
a = 30; // 变量可以n次赋值
System.out.println(a+b);
b = 30;
System.out.println(a+b);
//常量 final修饰后,它变量就变成常量
final String sysName = "京淘电商平台"; //定义一个字符串变量
//The final local variable sysName cannot be assigned.
//final修饰局部变量sysName不能再次被设置值
//特点:常量只赋值一次,不能再次赋值
//It must be blank and not using a compound assignment
//sysName = "京淘";
System.out.println(sysName);
//习惯常量全大写
final float PI = 3.1415926f; //常量固定死的值,一旦第一次赋值,不允许修改
System.out.println("圆周率:" + PI); //字符串拼接
//工程名称要求比较松支持-,但是变量常量名称不允许使用-
final String SYS_NAME = "京淘电商平台";
System.out.println("系统名称:" + SYS_NAME);
}
}
package cn.tedu.base;
//数学运算:加+、减-、乘*、整除/
public class TestArith {
public static void main(String[] args) {
int x = 10;
int y = 5;
System.out.println(x+y); //15
//表达式计算,从左到右执行
//字符串和其他内容拼接优先
System.out.println("x+y="+x+y); //x+y=105
//通过小括号改变计算优先级
System.out.println("x+y="+(x+y)); //x+y=15
System.out.println("x-y="+(x-y));
System.out.println("x*y="+(x*y));
System.out.println("x/y="+(x/y));
}
}
package cn.tedu.base;
//计算机不需要数学好,取余 %
//奇数偶数判断:对2进行取余,余数0偶数,余数1奇数
public class TestMod {
public static void main(String[] args) {
int num = 9;
System.out.println(num%2); //数字对2进行取余
}
}
package cn.tedu.base;
//运算符:自增++、自减--,针对整数
public class TestSelf {
public static void main(String[] args) {
int n = 0;
n++; //n = n+1;
++n; //n = n+1;
System.out.println(n);
int a = 10;
//下面的值在计算时和++的前后有关
System.out.println(a++); //a=11,10,先打后加
System.out.println(++a); //a=12,12,先加后打
System.out.println(a--); //a=11,12,先打后减
System.out.println(--a); //a=10,10,先减后打
}
}
package cn.tedu.base;
//比较运算符 ==、!=、>=、<=。。
public class TestCompare {
public static void main(String[] args) {
int a = 10;
int b = 100;
System.out.println( a=b ); //赋值语句 100
//比较结果是一个布尔值,true,false
System.out.println( a==b ); //true,a值被改变,相等
boolean bn = true;
System.out.println( !bn ); //!取反,false
System.out.println( a!=b );// false
}
}
package cn.tedu.base;
//逻辑运算符:&&与,||或,!非
public class TestLocal {
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = false;
//与特点:两边的值都为true结果才为true
System.out.println( b1&&b2 );
//或特点:两边只要有一边为true结果就为true
System.out.println( b1||b2 );
//非特点:取反
System.out.println( !b1 );
//穷举
System.out.println( true && true );
System.out.println( true && false );
System.out.println( false && true );
System.out.println( false && false );
System.out.println();//输出一个空行
System.out.println( true || true);
System.out.println( true || false);
System.out.println( false || true);
System.out.println( false || false);
}
}
格式很固定:a1 ? a2 : a3
含义:a1是一个布尔表达式,结果为true时返回a2,结果为false时返回a3
a=10, b=20;
int c = a>b ?a : b; //20
package cn.tedu.base;
//三目表达式:a?b:c
public class TestVar3 {
public static void main(String[] args) {
//求两个值最大值
int a=100;
int b=20;
int max= a>b ? a : b; //简洁写法
System.out.println(max);
//求三个值的最大值
int x=10;
int y=20;
int z=30;
//应用两次三目表达式,第一次求出xy中最大值
//第二次把xy中的最大值和z比较,求出其中最大值
int m = x>y ? x : y;
m = m>z ? m : z;
System.out.println("三个值中最大值为:" + m);
int r = (x>y?x:y) > z ? (x>y?x:y) : z;
System.out.println("三个值中最大值为:" + r);
}
}
package cn.tedu.base;
//复合赋值运算符 +=、-=、*=、/=
public class TestEqu {
public static void main(String[] args) {
int a = 10;
int b = 2;
a+=b; //a=a+b 等价,简化
System.out.println(a); //12
a-=b; System.out.println(a); //10
a*=b; System.out.println(a); //20
a/=b; System.out.println(a); //10
}
}
1)java基础语法
关键字:java语言中预定义好的单词,这个单词只允许java自身使用,不允许开发者去使用。固定。小写。开发工具eclipse/idea语法高亮。每个单词都有特殊含义。
2)关键字死记
3)运算符会使用