Java学习笔记_ day01

1:计算机语言发展史//了解
概述:是人和计算机交流打交道的方式,语言就有特定的规则,语法,应该要遵循它,学习如何去使用它,而不是修改它
分类:
机器语言:由0和1组成,人看不懂,但是机器能够直接识别
汇编语言:用特定的符号去代替0和1,人看的不太懂,学习特定符号
高级语言:用英文来编写,看的比较懂,有利于人类学习,包括c,c++,Java(c+++),c#(c++++),ruby,python等等
java由sun斯坦福大学网络公司推出的,由很多个开发,公认Java语言之父,James Gosling,詹姆斯.高斯林(高司令),
sun公司被Oracle甲骨文公司收购了


2:Java代码的注释//记忆
概述:用来解释说明我们程序,无效代码,不会执行,只是用来给人看的,代码是什么意思
分类:
单行注释:以//开头后面跟的是说明文字,被注释掉,不会执行,一次最多只能注释掉一行的内容
多行注释:以/*开头,以*/结尾,中间包含内容就是说明文字,被注释掉了,不会执行,可以注释一行或者多行
 注意事项,多行注释不能嵌套,多行注释里面不能再写多行注释


文档注释:以/**开头,以*/结尾,中间包含内容就是说明文字,被注释掉了,不会执行,可以注释一行或者多行
         一般用来解释你的类是干什么的,你的方法是用来什么的


作用:除了用来解释说明程序,还可以用来调试程序(用来检测我的代码哪里出现问题了)


3:变量的作用和常见数据类型//记忆,重点要掌握
概述:在程序的运行过程中,其值可以在一定的范围内(数据类型)发生改变的量,其实变量是容器,用来装东西,装的数据(变量的值)
     简单说,//变量是容器用来装数据//记忆,换句话,定义变量(容器)就是为了接收数据


定义变量的格式:定义一个变量,就是写一个变量,告诉计算机我写的这个东西是个变量容器就用来装东西,用来存数据//格式就是固定死的,都要记忆
数据类型 变量名 = 变量值;//声明和赋值,初始化,告诉计算机我要申请一块内存空间,空间的名字叫变量名,空间存的是变量值
  int a = 666;    //i alt /                   //到底这个申请空间有多大呢?由前面的数据类型来指定,暂时理解
//String name = "小明";String数据类型,name是变量名,"小明"是变量的值,=赋值号,理解为等于


变量的定义格式,有个变形,先声明,后赋值
声明:数据类型 变量名;//int a; String name;//声明只是告诉计算机我写的东西是个变量(容器),里面装的数据不知道
赋值:变量名 = 变量值;//a = 666;赋值,给声明的那个变量设置值,把这个变量这个容器装上数据,name = "小明";
                         //syso(a);
变量名存在意义就是为了得到变量名对应的变量的值,比如上面变量name,对应的值是小明
变量起名字不能乱来,暂时写一个英文单词表示,不能有空格


数据类型:每种数据都有它的类型,比如23是整数类型默认就写int表示,23.4就是小数类型默认就写double,"我爱你"字符串类型默认就写String
 王思聪 30 888.8 未婚 男,现实生活中的数据,对应什么类型呢?
 String int double boolean char
 String:字符串类型,表示由0个或者很多字符,串起来的数据,它的值由""引起来,一般表示姓名等,""也是字符串,空字符串,里面没有字符
 int:整数的默认类型,它的值直接写 int a = 666;double d = 23.4f;


 double:小数(浮点数)的默认类型,它的值直接写,默认后缀d或者D,不写也是写,系统给你写,
双精度的小数类型,表示小数的精确度更好,表示小数范围越大


 float:小数(浮点数)的类型,如果后面跟的是小数一定要加上后缀f或者F,
       单精度的小数类型,表示小数的精确度不够好,表示小数范围不够大,一般不用


 boolean:布尔类型,它的值要么是true,要么是false,true对应的就是现实生活真是对等逻辑,false对应假否错等逻辑


 char:字符类型,它的值由''单引号引起来的,里面有且只能有一个字符,比如 char gender = '男生';不对的,
      char gender = '\u0000';这么写是可以的,'\u0000'其实也是一个字符,表示十六进制的0


 String name = "王思聪";int age = 29;double salary = 888.8;boolean isMarried = false;char gender = '男';

 注意事项:1.整数与整数相除,结果只能是整数如10/3=3; 2.除数不能为0,如10/0出现问题


其实数据类型有一个大的分类:
基本数据类型:byte,short,int,long,double,float,char,boolean,基本数据类型不能赋值为null
引用数据类型:不是基本数据类型就是引用数据类型,String就是引用数据类型,如果成员变量默认值是null


4:选择语句if语句//记忆
概述:选择结构,现实生活的选择问题,例如如果满足一个条件就做什么,否则又做什么
if语句:
格式1:一选一的情况,或者多选多的情况
if(条件){//条件结果是布尔类型,条件满足结果是true,条件不满足结果就是false,
//只有上面条件满足,结果为true的时候才进来这里面做事情(你写代码),如果条件不满足结果是false的时候不进来
}


格式2:二选一的情况,两者只能选其一,不是你死就是我活的情况
if(条件){//条件结果是布尔类型,条件满足结果是true,条件不满足结果就是false,
//只有上面条件满足,结果为true的时候才进来这里面做事情(你写代码),下面的else不走,如果条件不满足结果是false的时候不进来
}else{
//如果上面的条件不满足结果是false的时候,就进来这里做事情
}


格式3:多选一的情况,多种条件,我只能做一个事情
if(条件){//条件结果是布尔类型,条件满足结果是true,条件不满足结果就是false,
//只有上面条件满足,结果为true的时候才进来这里面做事情(你写代码),下面不走,如果条件不满足结果是false的时候不进来
}else if(条件){//elseif不能省略,但是可以有多个
//只有上面条件满足,结果为true的时候才进来这里面做事情(你写代码),下面不走,如果条件不满足结果是false的时候不进来
}else{//可以省略的,但是建议大家不要省略,因为可以给出额外的提示
//只有上面的条件都不满足,才能进来这里面做事情
}


5:常见运算符//理解
概述:参与运算的符号
分类:
赋值运算符:=,int a = 666;把=赋值号右边的数据给左边的变量(容器)装上 
           +=,表示把+=号左右两边的数据相加得到结果赋值给左边变量,int i = 2; i+=2;//i = i+2;syso(i)//4
   -=
   *=
   /=
   %=


算术运算符:+,-,*,/,%取模(求余数),++,--
如果单独使用,不管++在前还是在后,表示结果都是一样的,int i = 666;i++,或者++i,都是同一个意思,i = i+1;


如果跟其他人参与运算,你要注意:
如果++在前,先自增然后把得到结果再跟别人进行运算,自增表示加1的意思,++i + 2;


如果++在后,先跟别人进行运算得到运算结果,然后再自增,自增表示加1的意思,i++ + 2;


比较(关系)运算符:<,>,<=,>=,==,!=,它的写法不管简单还是复杂,结果一定是布尔类型,值要么是true,要么是false


6:Java中定义类和方法的格式//记忆
定义一个类,写一个类,类就理解对应现实生活中一类事物
public class Itheima {//class关键字,表示类,后面跟的是类的名字,比如Itheima

}


定义一个方法,写一个方法,对应一类事物里面的一个功能,方法应该在类的内部写,类{}里面,不能在一个方法里面在写一个方法,方法里面{}
public void test(){

}


//public void test(){//
// return;
//}


其实写一个方法不止上面这么写,如果一个方法有返回值,你记得用return关键字返回对应类型的数据
public void test(){//void对应的方法的返回值类型,如果这个方法没有返回值就写void空的
//return;//return表示返回的意思,后面跟的值表示返回值,因为后面没有任何东西,以;分号结束了,这么写表示没有返回值
//return;其实默认不写也是写,系统给你写了,只要你写了,系统就不写
return 666;//返回值就是666,如果有返回值void位置对应返回值数据类型,写这个返回值对应的数据类型
}


方法的返回值作用表示你写的这个方法给别人使用完毕得到的结果
//其实写一个方法应该是通用的,能够处理变化的数据,能够处理变量
public int add(int a,int b){//写一个方法求两个整数的和,a表示一个整数类型的东西,没有值,搞个形式而已,形式参数
return a+b;//方法的返回值,表示你写的这个方法给别人使用完成得到的结果
//return
}


其实写一个方法应该是通用的,能够处理变化的数据,能够处理变量
public int devide(int a,int b){//这个两个整数变化的,用一个变量表示,不能给变量赋值否则写死了(当方法给别人使用时别人给变量赋值测试)
return a/b;//return后面跟的值就是返回值,表示方法的结果
}
方法与方法之间是平级关系,方法跟方法之间应该独立开来,互不干涉


7:补充内容//了解,最好理解
java语言是严格区分大小写的,例如a和A不是同一个东西


编程就是模拟现实中生活的事物,解决事物身上的问题


任何计算机能执行的东西都是程序


编程要控制程序的执行流程,所以要学习流程控制语句
分类:1.顺序结构,从上往下,从左往右,一步一步执行 2.选择结构,满足条件选择做事情 3.循环结构,循环就是不断的做事情,可以有一定的终止条件


面向对象的实质就是合理的划分变量的作用域


代码仅仅是编程思想体现形式,不能说编程就是写代码


写好代码,要经过编译,检测Java语法是否出错,编译没问题,经过运行,运行才有可能得到结果
程序要运行起来要消耗内存,其实定义变量对应一定的内存空间,内存可以用来执行计算机运行的数据,这么一块地方,空间


String是个数据类型,字符串的数据类型,对应的现实生活中由多个字符,串起来的东西,他的值由""引起来,里面可以什么都没有,表示空字符串
//syso alt /
String name = "fbb";
System.out.print(name);//输出语句,输出小括号里面的内容,内容要么是变量的名字或者变量的值,输出不换行
System.out.println(birthday);//输出语句,输出小括号里面的内容,内容要么是变量的名字或者变量的值,输出换行
System.out.println("hello:"+name);//用""引起来的东西就是一个字符串,后面跟的+号不是传统意义上+号,表示字符串连接符读作串上
//一个字符串通过一个+号串上后面的东西就变成一个新的字符串,跟先后顺序不相关


云指的是服务器电脑,云计算就是把数据交给服务器去计算


成员变量跟局部变量的区别:成员变量有默认值,局部变量没有默认值//了解,后面面向对象还会学
public class Itheima{
int weight;//写在类中{},方法外,叫成员变量,有个特点,声明的时候就有默认值,系统给他赋值
//int 0,double 0.0,boolean false;String null

public void test(){
int age;//写在方法里面,局部变量,没有默认值,要使用必须手动赋值,如果不使用只是声明,没有问题
//age = 666;
//System.out.println(age);//使用变量,通过变量名得到变量的值
//System.out.println(weight);//0
}
}


""空字符串跟null的区别://了解
public class Itheima{
public void test(){
// String s = "";//""是一个字符串,是空字符串,表示字符串里面没有字符,类比羊肉串至少有跟棍子
// System.out.println(s.length());//表示得到字符串的长度,这个字符串里面由多少个字符组成

String s2 = null;//null,none,什么都没有,你就不能通过它访问字符串里面的东西
System.out.println(s2.length());//出现问题,异常NullPointerException空指针异常
}
}

猜你喜欢

转载自blog.csdn.net/ycx13787444472/article/details/80343590