Java学习

第一章
1.程序:一系列有序指令的集合。一系列动作执行的描述。
2.java技术平台:
a.javase:java技术的核心,和我们后期学习 java的基础
b.javaee:企业级应用的开发。
c.javame:主要手机开发。


3.开发java程序的步骤:
a.编写源程序,后缀名是.java
b.编译源程序,命令是javac 文件名.java,编译后生成后缀名为.class的字节码文件
c.运行程序,命令是 java 文件名
4.java程序框架需要注意的东西:
a.public class 类名{},类名必须与文件名相同。类名的首字母需要大写。
b.main函数四要素:
  A.public B.static C.void D.String[] args
  main函数是程序的入口。一个完整的程序只能有一 
个main函数
c.java一行只写一条语句,语句以结束符英文状态分号为结束
d.注意层级之间的缩进
5.配置环境变量:
a.path:java jdk的目录 path找到bin文件夹路径,复制粘贴到path的变量值文本框里面
b.classpath: jdk目录的lib文件夹路径,复制粘贴到classpath的变量值文本框内,必须注意,在路径前面需要加.;
6.java注释:
a.单行注释:// 一般写在需要解释行的上面或者后面,只对一行起作用
b.多行注释:/*  */ 把需要注释的内容包含起来即可。


7.Myeclipse编辑工具:
编写java文件的步骤:
点文件(file)?new?javaproject?
右击SRC ?创建包?右击包?创建class类
包资源管理器:Package Explorer 包是以com.bdqn.test 的形式显示,包含的是java的源文件。
导航器:Navigator 包是以文件夹的形式存在,既包含源文件,也包含被编译过后的.class字节码文件。
控制台:console 主要是用于输出的显示和在控制台的输入。
菜单栏 source下面的format可以整理源文件的格式与缩进。
alt+/是快捷提示键。我们只需要打出关键代码就可以用alt+/打出剩余的代码。
ctrl+D 删除一整行
注意:以上三个都在菜单栏WINDOW下面的Show view下去找。


第二章
1.变量:程序的最小单元。用来存储单个数据。
2.基本数据类型:(8种):
byte 字节型(1个字节)
short 短整型(2个字节)
int 整型(4个字节)
long 长整形(8个字节)
以上四个都是用来存储整数的,各自范围不同。一个字节为8位:它们个字的范围公式为 负的2的字节数乘以8减1次方到2的字节数乘以8减一的次方减1


float 浮点型(也是小数类型,但是要注意,定义的时候例如:float f=1.0f;数字后面的f必须加上,因为小数默认是double型的。)
double 双精度型
以上两个为小数类型。
Boolean 布尔类型 只有两个值:true 和false
char 字符型 定义例如:char c=’男’;注意它的定义使用的是单引号。
以上是基本数据类型,我们还学习到了另外一种字符串 String类型。


3.变量的定义:两种方式
a.先声明后赋值:例如:
int a;
a=10;
b.边声明边赋值 例如:
int a=10;我们经常使用这一种方式。
4.变量名的命名规则:
a.首字母必须以字母、_、$、为开始
b.后面的是数字、字母、_、$的任意组合
c.一般定义变量名要起到见名知意的作用。
d.不能使用java关键字。如 int double public String ……
5.赋值运算符:=(等号,把右边的值赋给左边的变量)
6.算数运算符:+、-、*、/、%
7.关系运算符:>、<、>=、<=、==、!=
注意:他们判断的结果类型是boolean类型,经常用在if结构和循环结构中。


8.Scanner sc=new Scanner(System.in);
Scanner 类是在java.util包中,主要提供了java的一些工具类。用到它就需要导包。import java.util.*;或者是import java.util.Scanner;
它的几个我们常用的方法:
int a=sc.nextInt();
double b=sc.nextDouble();
String c=sc.next();


9.类型转换:
a.自动类型转换:
数据类型兼容
大数据类型接收小数据类型的数据
小数据类型向大数据类型转换 例如:
int a=10;
double b=a;
a的数值类型自动转换成double型
b.强制类型转换
数据类型兼容
小数据类型接收大数据类型的数据
大数据类型向小数据类型转换 例如
double a=1.0;
int b=(int)a;
a的数值类型需要强制转换才能被int变量接收。
第三章
1.逻辑运算符:
&&(与):两边条件表达式同时为真的时候,整个表达式的值才为真,有一个为假,结果为假
||(或):两边表达式的值有一个为真。整个表达式的结果为真,同时为假才为假。
!(非):非真为假,非假为真。
2.单if结构:用于处理简单的条件判断
if(){
}
3.if else结构:简单分支
if(){
}else{
}
4.if elseif结构
if(){
}else if(){
}
…//能够有多个else if(){}
else if(){
}else{
}
注意:最后的else可以省略,多个else if块之间的顺序可以改变,但是对程序结果有影响。
5.嵌套if
if(){ //外层if
if(){
}else if(){ //内层嵌套
}else if(){
}else{
}
}else if(){
//也可以嵌套
}else if(){
}
注意:多重if主要处理连续区间的判断


6.流程图:
圆角矩形:程序的开始和结束
矩形:计算步骤,处理部分
菱形:条件判断
平行四边形:输入输出
流程线
连接符
7.随机数:Math.Random();生成0到1之间的数字。包括0不包括1.
第四章
1.switch结构
switch(num){
case 常量1:
break;
case 常量2:
break;
…….
case 常量n:
break;
default:
break;
}
注意:a.switch结构只能做等值判断
b.变量num的类型只能是整型(int)或者字符型(char)
c.case后面只能是常量
d.default是其他所有常量都没有匹配的默认情况,可以省略。
e:break;可省,但是一般会写。
f:注意代码的缩进
2.Scanner 类的hasNextInt();判断下一次nextInt()的值是不是整型数字。如果是,返回true;如果不是,返回false.
用法如下:
if(sc.hasNextInt()){ //第一句
int a=sc.nextInt();// 第二句

}
hasNextInt()判断在它之后的第二句输入值是否是int类型。



第五章 while循环
循环:重复的做某件事情
1.while循环结构
int i=0;
while(i<10){
//代码块
i++; //着重注意,防止死循环
}
2.do while结构
int i=0;
do{
//代码块
i++;
}while();
注意:1.do while循环至少要执行一次
2.while 有可能一次都不执行
3.循环次数不固定的情况我们一般选用while循环
4.while循环是先判断后执行
do while循环是先执行后判断
3.程序调试
 a.设置断点
b.单步执行
  F5单步跳入
 F6 单步跳过
 F8 从此处的断点跳到下一个断点
 c.观察变量

第六章 for循环
1.for循环结构
for(1循环变量初始化;2条件判断;3循环变量的更新){
4代码块;
}
注意:必不可少的是两个分号。
执行顺序是1243;
2.跳转语句
a.break
终止循环;
b.continue
 略过循环内部在continue之后的代码,进行到下一次循环。
c.return 
返回结果
结束方法、
第八章 数组
1.数组区别于变量
变量只能存储一个数据
数组存储多个相同数据类型的数据
2.定义方式:
a.int[] 数组名=new int[数组长度];
数组名[下标]=具体的数字;
b.int[] 数组名=new int[]{1,2,3,3};
c.int[] 数组名={1,2,3,4};
3.数组的常用方法
注意:说到数组想到循环
数组下标从0开始
a. 求总和和平均值
int sum=0;
for(int i=0;i<数组.length;i++){
sum=sum+数组[i];
}
int avg=sum/数组.length;
b. 逆序输出
for(int i=数组.length-1;i>=0;i--){
输出语句;
}
c. 数组排序
Arrays.sort(数组名);
d. 数组元素的插入
 详见共享
e.最大值和最小值
 int min=数组名[0];
 int max=数组名[0];
for(int i=1;i<数组.length;i++){
if(max<数组[i]){
max=数组[i];
}
if(min>数组[i]){
min=数组[i];
}
}
注意:数组下标从0开始;
下标不能到达数组长度位置,应为数组长度-1
防止数组越界
第九章 双层循环
1.双层循环:
就是循环内部嵌套循环
for(int i=0;i<10;i++ ){
for(int j=0;j<10;j++){
}
}
注意:双层循环结构内循环变量声明必须不同
break和continue 只能作用于一层循环。
练习题要注意的有:
1.99乘法表、菱形和空心菱形


第11章 类和对象
1. public class 类名{
属性1;
属性2;
//方法
public void 方法名(){
方法体;
}
}
注意:属性是类的静态特征,方法类的动态的特征。共同组成类。
类和对象的关系:
类是对象的抽象,对象是类的实例化。
2. 创建对象和调用属性方法
a. 创建对象
类名 对象名 =new 类名();
 b. 调用属性和方法
对象名.属性;
对象名.方法名(); 
注意:java面向对象三大特征:封装,继承。多态。
第12章   无参方法
1. 方法的定义
a) 访问修饰符  返回值类型  方法(){
方法体;(实现代码部分)
}
2. return 
a) 结束方法(main也能被它结束掉)
b) 返回结果
注意:a. 无返回方法一般不在方法体内部写return。
public void fun(){
String name=“”;
return name;错误的写法,无返回方法,不能返回值。
}
b.一个方法只能返回一个值。
public void fun(){
String name=”1212”;
String birthday=”1998-01-01”;
return name,birthday;
}
上面是错误的做法!
c.不能嵌套定义方法
public void fun(){
public void fun1(){
//这样做是错误的。方法不能嵌套定义

}
}
d.不能再方法外部直接写程序逻辑代码。

public void fun(){

}
if(true){
System.out.println(“这个if结构会报错,因为它写在了方法的外部”);
}
3. 成员变量和局部变量
a. 作用域不同
a) 成员变量作用于整个类的内部。类的方法都可以使用成员变量
b) 局部变量只存在于定义它的方法内部,其它方法无法使用到它。
b. 初始值不同
a) 成员变量有初始值。
String 类型初始值为null;
int类型初始值为0;
double类型初始值为0.0;
自定义类的对象初始值为null;
4. java注释分为三种:
a. 单行注释 //注释内容
b. 多行注释/*注释内容*/
c. 文档注释/**
*这里写注释包括作者
*信息,程序版本,方
*法参数,返回值等等
*/
file? export?java?javadoc?
4. 方法的调用:
a) 在同一个类中,可以直接调用方法即:方法名();
b) 在不同类中调用方法时,必须要创建对象。拿对象调用。即:对象名.方法名();
第14章 有参方法
1. 有参方法的定义:
a) 访问修饰符 返回值类型 方法名(参数1,参数2……){
方法体;
}
注意:1.定义时候和调用时候参数数量必须一致。2.定义时候和调用时候参数顺序必须一致。3.定义时候和调用时候参数数据类型必须一致。4.调用时候参数不能带数据类型。5.参数可以是任何数据类型(包括基本数据类型和应用数据类型(数组,自定义类));
2. 包
a. 包的命名
1. package com.bdqn.test;
域名倒置的命名规则。
eg:如果是百度公司的。网址是www.baidu.com。我们在命名包的时候应该这样写。
com.baidu.部门名.项目
b. 包的作用
1. 用于归类
a) 把功能相同的类放在同一个包下面。
2. 防止命名冲突
3. 保护类的属性方法等等(后面会学习到。)
4. 导入包关键字:import 包名;
5. 可以再包资源管理器和导航器中观察包。
第15章
一、 String类
String s=””;
String s1=new String();
s1=”  ”;
String s2=new String(“   ”);
1. length();获得字符串的长度 eg:s.length();
2. equals();判断两个字符串对象的内容是否一致。eg:s.equals(s1);
3. concat();连接字符串 eg:s.concat(s1);  ps:连接过后s和s1的值是没有改变的。但是如果这样写。String s3=s. s.concat(s1);s3的值是他们两个拼在一起的值。
4. indexof(“字符串”)或者indexof(‘字符’); eg:s.indexof(“a”); 返回a字符串在s中的下标,如果没有找见,返回-1;
5. substring();截取字符串;eg:1.s.substring(1); 从下标为1的位置开始(包含1),截取之后的所有字符串。 2.s.substring(1,4);从下标为1的位置开始(包含1),截取下标为4之前的字符串(不包括4);
6. equalsIgnoreCase();忽略大小写 eg: s. equalsIgnoreCase(s1);
7. toUpperCase();全部转换成大写;
8. toLowerCase();全部转换成小写。
9. trim();去掉字符串前后的空格。
二、 StringBuffer;
StringBuffer sb=new StringBuffer();
sb.append(“000”);
StringBuffer sb1=new StringBuffer(“   字符串 ”);
1. toString();讲StringBuffer类转换成String类型
2. append();追加字符串 eg:sb.append(“1234”);则sb的值最后为”000123”;
3. insert(下标,字符串);插入字符或者字符串。eg:sb.insert(1,”222”);则sb的值最后变为”022200”;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值