学习JAVA前的准备
做JAVA的目的
-
自认为JAVA的学习不算太难,可能以后不会一直从事这样的行业,但是内在的逻辑思维,以及某些时候想要以个人的名义开发一个APP之类的东西的时候就需要编程,而JAVA的适用范围广,有用。且个人认为优先JAVA可能会对我以后如果需要深入学习别的编程会有帮助。
-
JAVA可以做大数据,云管理系统后台,电商系统平台,桌面工具等实用东西。
写博客的好处
总结思考,提升文笔水平,帮助他人(如果可以的话)
MARKDOWN
在6.12的文本中
JAVA安装
-
下载jdk1.8.0原因:1.8.0版本功能已经齐全,方便,没有花里胡哨的东西,大公司一般也是用1.8.0
-
设置环境变量:这一步对我来说是比较麻烦的一件事,我用的是win7,环境变量和win10系统的不太一样,解决办法:别人教的,找不到了:除了设置好JAVA_HOME【C:/Program Files/Java/jdk1.8.0_291】以外还要设置PATH【C:/ProgramFiles/Java/jdk1.8.0_291/bin;%JAVA_HOME%/bin; 】(PS:大小写不敏感。找到储存JDK的地方,加上/Bin;%JAVA_HOME%/bin;),最后在path前面加上一串东西就可
-
验证是否完成:控制面板(开始菜单,搜cmd【或者win键+R】打开)输入java,javac,java-version(注意这个小杠杠不用按住shift键)【!!!!!所有的计算机符号输入全部都是英文字符,必须开英文键盘才能打出,比如[ ]/ …….】
-
配置完成
科普:什么是计算机
分为硬件和软件
硬件:CPU|主板|内存|电源|IO设备(即输入输出设备)/【IO的意思 i:input o:output】
软件:就是APP之类的东西:可以使计算机按照事先预定好的顺序完成特定的功能。
计算机常用快捷键
ALT+F4 关闭所有窗口
Ctrl+C 复制
Ctrl+A 全选
Ctrl+S 剪切
Ctrl+Tab 切换界面
Ctrl+V 粘贴
Ctrl+Z 撤销
Ctrl+S 保存
win+E 我的电脑
ctrl+shift+esc 撤销上一步
Markdown学习
6.11日学习了markdown,现在来复习下学过的内容加紧掌握
-
加粗:** **
斜线:* *
加粗+斜线*** ***
删除线:
-
引用:>加空格 回车的作用
我没说过这句话 –鲁迅
生活就像海洋只有意志坚强的人才能到达彼岸(这里开头点了两次回车)
我没说过这句话 –鲁迅
生活就像海洋只有意志坚强的人才能到达彼岸(只点一次回车的效果)
-
注意插入图片的时候要加! 格式: ! [必须是开英文键盘的时候才打得出来] ()外网的最可以,不受到限制
超链接 :狂神说 比较插入图片来说少了一个感叹号
名字 | 性别 | 生日 |
---|---|---|
1 | 2 | 0 |
找到markdow左下角的源代码
重点!!! DOS命令(大小写不敏感)
盘符切换:直接打CDEF:
直接dir,显示当前盘上所有的文件
cd+空格+输入想进入的目录,切到那个目录
cd_(横杠必须是英文件盘的shift+-),回到上级目录
md+空格 在此处创建目标文件夹
rd+空格 删除目标文件夹
cd>+空格+文件名 创建一个文件(如:helloworld.java)
del+空格 删除文件名
关键字
-
JAVA中所有组成部分都需要名字
-
所有的标识符都应该以(A-Z)(a-z)(_)($)开始
-
标识符的大小字母敏感的(Hello!=Hello)
习惯类
-
所有的文件分类号,文件名,编写代码的时候不应该出现中文字符
-
文件名,编写代码的时候应该使用驼峰结构:首字母小写尔后单词的首字母大写,只有一个单词时可以大写
如(helloWorld.java)
-
学会速写:psvm,pout等在IDEA的缩写
强类型语言(详)与弱类型语言(略)
强类型语言
-
要求变量的使用要严格符合规定,所有的变量都必须先定义后才能够使用
-
JAVA有基本类型(primitive type)和引用类型(reference type)
基本数据类型:有整数类型:byte short int long
浮点类型:float double (微点:见注1)
浮点数扩展:应试问题:在银行业务中如何表示钱?
问题本质:了解浮点数其实并不准确(即他的离散型与有限性),很多时候在他的浮点类型的范围内会进行向下取整(否则溢出),这时候就要用到Math,BigDecimal这类数据类型,而问题中银行业务需要精确的计算,所以会用到//BigDecimal的数据类型
(注1:)
float num1=50.1 F //F是为了让系统理解我们用的就是float类型而不是double类型
字符类型:char
boolean(布尔值)类型:boolean(用于判断是非)(注3)
引用数据类型有类,接口,数组。
布尔值扩展:
(注3:)
psvm float d1 = 232323f; dloat d2 = d1 + 1; sout(d1==d2); //输出结果: false
JAVA程序的运行机制
编译型:直接翻译,但更新时需要全部再次翻译,一定情况下省时间,但浪费资源。
解释型:对每一段话都进行翻译,读哪里翻译哪里,如果想回头读则还要再次翻译,性能损失,耗时。
进程
进程:二进制ob 十进制 八进制o 十六进制ox
类型转换
1.内存溢出的概念:内存溢出简单说就是超出了数据类型的范围,比如byte只能写0-8,一旦定义的数值或者计算的数值超出这个值,计算就会出错(注4)
、
注4:
psvm byte b = 100; sout(b); //输出:-100
2.强制转换:强制转换的目的就是让目标不内存溢出,格式(类型)变量名(注五)
(tips:如果是;两个类型不一样的值进行运算,则默认将两个类型的变量转化成类型int再计算)
注五:
psvm byte b = 100; sout((long)b); //输出:100
注意事项:
-
不能对布尔值进行转换
-
不能把对象类转化为不相干的类型
-
在把高容量转换成低容量类型时不需要也不能使用强制转换,IDEA会报错,因为电脑会自动帮你转换(由低到高:byte<short<char<int<long<float<double)
-
转换时也能出现内存溢出或者精度问题
-
电脑优先在上一类型内进行运算,再输出的时候转换成想要输出的类型。注6
注6:
psvm int money=1000000//这一步已经出现了问题 int years=20 long total= money * years sout //输出错误答案
(微点:JDK7以上的特性,在数字之间可以用英文键盘下的下划线分割,不会对数字产生影响,便于观察)
-
JAVA SE
关键字,关键词,数据类型等
-
标识符与关键字:JAVA所有的组成成分都需要
名字,类名,变量名以及方法名都被称作标识符 -
-
数据类型,分为int,short,type,long,数字类型double,float浮点类型
boolean布尔值为三类,还有char字符类型,字符!=字符串,字符只有单个,而且需要
引用字符时,格式A=’狂’。 -
强转:强转只需要高转低,低转高是自动转换,布劳费心。
从高到低:double>float>long>type>int>short无关不能强转:比如char类型转成float。 -
如果两个数的数据类型不一样的话,JAVA会优先将他们转成int类型再计算。
-
-
变量:
数据类型 变量名 =值; -
运算符号
-
有:+ – * /(加减乘除) %(求余) ++ — (自增减)
逻辑运算符: &&(且) ||(或) !(非)
三元??运算符: > ? : (判断,如果是对的,则执行?之后的语句,否则就折行:之后的语句)
//判断 a++ 与 ++a 的 区别以及 >?= 的用法
class Demo01;
public static void main(String args[]){
int a = 2;
int b;
System.out.println(a); // a:2
b=a++;
System.out.println(b); // b:2
//先赋值再自增,先让b=a,再a++
b=++a;
System.out.println(b); // b:4
//先自增再赋值,即先a++,再b=a
System.out.println("==================================");
int c = 2;
while (c<5){
System.out.print(c+"/n"); //最终输出 2 3 4 5
c++;
}
System.out.println("===================================");
int d = 2;
while (d<5){
d++;
System.out.print(d+"/n"); //最终输出3 4 5 6
String grade = a<3 ? "不及格" : “及格”;
System.out.println(grade) //最后输出:”不及格“
}
}
}
-
一些用在 System.out.println() 上的?
/n换行输出 相当于println里的ln 。
/t 空格, 相当于在()里填写“ ”。
括号开头增加双引号使得输出语句内不再运算而是全部打印出来(详看以下部分代码)
int a = 2; int b = 3; System.out.println(a+b); //输出 5 System.out.println(""+a+b); //输出 23
代码
- if 结构:如果需要两种以上的判断时,可以使用else if,否则else就够了
package Demo01;
public class Demo05 {
public static void main(String[] args) {
//test 1: use IF to select ones grade.
int a= 60;
if (a>60){
System.out.println("well");
}else if (a==60){
System.out.println("bad");
}else if (a<60||a>0){
System.out.println("worst");
}else{
System.out.println("error");
}
- DoWhile 和 While 的区别:有时候我们需要程序尽管判断时已经出错但仍然要运行一次时,要使用DoWhile结构,注意格式do写代码while跟判断
package Demo01;
public class Demo05 {
public static void main(String[] args) {
//distinguish "DoWhile" and"While"
while(a!=60){
a++;
System.out.println(a);
}
do { a++;
System.out.println(a);
} while(a==0);
}
-
Switch 结构 + break & continue :
break:完成这句话之前以及{}之内的任务后立即跳出循环,并且结束循环
continue:完成这句话之前以及{}之内的任务后立即跳出循环,进入下一次循环
char grade ='C';
switch(grade){
case 'A':
System.out.println("perfect");
break;
case 'B':
System.out.println("good");
break;
case 'C':
System.out.println("bad");
break;
case'D':
System.out.println("worst");
break;
default:
System.out.println("unknown word");
continue 详解
//task:打印1-100所有可以被5整除但是要排除可以被10整除的数。
package Demo01;
public class Demo06 {
public static void main(String[] args) {
for(int i = 0;i<100;i++){
if(i%5==0){
if(i%10==0){
continue;
}else{System.out.print(i+"/t");
}
}
else{
continue;
}
}
}
}
//输出:5 15 25 35 45 55 65.....95
课堂任务:初步了解算法思维与用法
task1:打印九九乘法表
task2:打印三角形
public static void mian (String[] args){
//打印九九乘法表
for(int a=1;a<=9;a++){
for(int b =1;b<=a;b++){
System.out.print(a+"*"+b+"="+"a*b"+"/t");
}
System.out.println();
}
}
//灵活运用循环解决一些有规律的问题
package Demo01;
//打印一个三角形
public class Demo08 {
public static void main(String[] args) {
for (int a = 1; a <=5; a++) {
for (int b = 5; b>=a; b--) {
System.out.print(" ");}
for (int c = 1; c <=a; c++) {
System.out.print("*");
}
for (int i = 1; i <=a-1; i++) {
System.out.print("*");
}
System.out.println();
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/java/274325.html