【Java程序设计】学习笔记1,第一个Java程序及Java基础

Java的安装

下载

从官网下载JDK
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

安装完成后配置环境变量

在控制面板中,点击“高级系统设置”,然后点击“环境变量”
编辑系统变量,如下图
在这里插入图片描述
修改环境变量PATH,添加一项

%JAVA_HOME%\bin

我遇到的问题以及思考

当我把Java安装到D盘,总是会安装失败,当我选择安装到C盘就会成功。
由于我C盘的剩余空间确实很珍贵,于是我暴力地把安装到C盘的Java移到D盘。(这是非常菜的做法)
于是,配置完成环境变量后出现了一个现象:当我输入javac,电脑既不报错也不输出,编译时也不报错和产生class文件。
后来跟学长讨论时,他说有可能是我很low地强行移盘时注册表没改,也许javac是根据注册表去找jar的,由于是javac.exe还在,所以输入javac不会报错,但找不到jar,没有catch的异常,就终止了。
安装到D盘失败有可能是因为我原本安装在D盘上的游戏都需要jre,jdk是jre的超集,可能发生了jre的覆盖安装。

用cmd写第一个Java

BIN子目录中的命令文件

  1. javac
    java语言编译器,源文件名必须以java为扩展名,命令中,后缀不能缺省。
  2. java
    java字节码解释器,字节码文件名必须以class为拓展名,命令中,扩展名class必须缺省。
  3. javap
    java字节码分析程序
  4. javaprof
    资源分析工具
  5. javah
    C代码处理工具
  6. appletviewer
    Applet浏览工具
  7. jdb
    java调试工具
  8. jar
    管理jar文件
  9. javadoc
    用于生成API文档

第一步:用记事本编辑源程序。
第二步:保存文件名和类名一致,区分大小写。
第三步:保存,保存时注意保存类型选择:所有文件。
在这里插入图片描述
第四步:使用javac命令编译源文件生成.class文件,编译源程序后再目录下生成HelloWorld.class文件。
编译时,目录要转到源代码文件所在的目录。

在这里插入图片描述

eclipse的安装

从官网上下载安装包
在这里插入图片描述
安装第一个
在这里插入图片描述

创建第一个Project

选择workspace
在这里插入图片描述
点击“Create a new Java project”
在这里插入图片描述

将project命名为“test_1”。
在这里插入图片描述
创建成功后,如图:
在这里插入图片描述
在test_1项目下创建一个类

在这里插入图片描述
创建类c2_2,完成输入学号,按逆序存储后输出:
在这里插入图片描述
开始调试
在这里插入图片描述

在第7行打了断点,变量表如下变化:

在这里插入图片描述

继续执行:

在这里插入图片描述

继续执行:

在这里插入图片描述

在控制台输入字符串,继续执行:
在这里插入图片描述
翻转后的字符,t:
在这里插入图片描述

输出结果:
在这里插入图片描述

java语言基础

控制台输入/输出

用Scanner类实现数据输入(仅JDK1.50或更高级版本支持)

用法:

import java.util.Scanner;
Sanner in = new Scanner(System,in);
String s=in.next();//输入1个字符串(空格/Tab/换行分隔)
String t=in.nextLine();//输入1个字符串(换行分隔)
int a=in.nextInt();//输入1个整数
float b=in.nextFloat();//输入1给单精度实数
double c=in.nextDouble();//输入1个双精度实数

数据输出

用法:

import java.io.*;
System.out.print(字符串);//输出串不换行
System.out.println(字符串);//输出串并换行
System.out.println();//输出换行

格式化输出方法*:(仅JDK1.50或者更高版本支持)

System.out.printf(格式串,表达式列表);
//格式符语法:%[参数索引$][标志][宽度][.精度]格式符
  1. 格式符:

d: 十进制整数
o: 八进制整数
x: 十六进制整数
f: 十进制小数格式浮点数
e: 十进制指数格式浮点数
g: 自动格式浮点数
a:十六进制小数
s: 字符串
c: 字符
b: 布尔值
h: 散列码
tx: 日期时间(x为3~7整数)
%: 输出%

  1. 宽度精度 同C语言
  2. 标志

+: 强制输出正数的正号
-: 输出域中向左对齐
0: 不足域宽用0占位
(: 正数不变,负数求绝对值用括号括起来
,: 千分位分隔符
: 如 : 如%1 :d%1$x表示用十和十六进制输出第1个参数
<: 用前面一个参数继续输出

例1:int a=1, b=2,c=3;

     System.out.printf("a=%d,b=%d\nc=%4d",a,b,c); 
     输出为:a=1,b=2
             c=3 

例2:int a=255,b=10;

     System.out.printf("%1$d%1$x,%2$d",a,b);
     输出为:255ff,10

例3:float x=0.256f;

     System.out.printf("%.2f,%<e",x);
     输出为:0.26,2.560000e-01

字符串

字符串的创建

String s;
String s=new String();
String s=“abcd”;
String s=new String("abcd ");

字符串连接运算符+

String s;           
s="abc"+"xyz";                
int a=10;            
System.out.println("a="+a); 
/*字符串与其它类型变量相加其它类型自动转换为字符串 */

字符串类中String中常用公有函数

int length() //求串长
int compareTo(String t) // 比较两串大小
本串<串t, 返回负数
本串>串t, 返回正数
本串=串t, 返回0
String toLowerCase() //本串大写英文变成小写
String toUpperCase() //本串小写英文变成大写
字符与子串查找
int indexOf(int ch) //字符ch第一次出现的位置号
int indexOf(String SubStr)
int indexOf(int ch, int fromIndex)
int idexOf(String SubStr, int fromIndex)
int lastIndexOf(int ch) //字符ch最后一次出现的位置
int lastIndexOf(String SubStr)
int lastIndexOf(int ch, int fromIndex)
int lastIndexOf(String SubStr, int fromIndex)

数值转化为串

syntax: 数值类型类名.toString(该数值表达式);
例:

double a=-100.575; int b=123;       
String s=Double.toString(a);       
String t=Integer.toString(b);       
System.out.println("a="+Double.toString(a+1));

串转化为数值

syntax: 数据类型类名.parse首字母大写类型名(串表达式);

String  s= "258";        
int a=Integer.parseInt(s);         
//VJ++6.0不支持parse函数

运算符

算术运算符:+ - * / % ++ - -
关系运算符:> < >= <= = = != (布尔结果)
逻辑运算符:! && || & | ^ (布尔结果)
位运算符:>> << >>> & | ^ ~
赋值与自反赋值运算符:= += -= *= /= %= &= |= ^= >>= <<= >>>=
类型强制转换运算符: (类型名)
实例运算符:instanceof
内存分配运算符:new
条件运算符:式1?式2:式3
说明: (1) 逻辑运算符中, && 与 & 的区别:&&具有短路功能,即(逻辑式1)&& (逻辑式2)
若逻辑式1结果为false, 则不再计算逻辑式2; 若使用&运算符,则逻辑式1和逻辑式2均要计算。
(2) 逻辑运算符中, || 与 | 的区别:||具有短路功能,即(逻辑式1)|| (逻辑式2)
若逻辑式1结果为true, 则不再计算逻辑式2;若使用|运算符,则逻辑式1和逻辑式2均要计算。

一维数组

定义数组名标识符

syntax: T 数组名[]; //T表示数据类型名
T []数组名;
例: int a[]; double b[];

创建数组空间与元素值的初始化

方法1: 定义数组名标识符时给出数组所有元素。

 例:  float a[]={0.0f, 0.1f, 0.2f, 0.3f };// 数组a有4个元素

(2) 方法2: 使用new运算符

定义数组名时直接使用new
syntax: T 数组名[]=new T[元素个数];

 float a[]=new float[10];    // 数组a有10个元素

先定义数组名再使用new
syntax: 数组名=new T[元素个数];

 例:  float a[];    a=new float[10]; // 数组a有10个元素

已分配空间的数组可以用new重新分配空间

例:  double a[]=new double[5]; // 数组a有5个元素
       …
     a=new double[10]; // 数组a重新分配10个元素

一维数组元素的访问

(1) 下标表达式同C语言(从0开始)
(2) 下标超界产生一个异常
(3) 一维数组长度(元素个数)表达式

syntax:  一维数组名.length
例:int a[]=new int[5];
int n=a.length;      // 变量n的值为5

二维数组

定义二维数组并创建数组存储空间

例: syntax1: int a[][]; a=new int[3][4];
 syntax2: int a[][]=new int[3][4];
 syntax3: int a[][]={{1,2,3},{4,5,6},{7,8,9}};
 syntax4: 各行单独分配维度大小
 int line_num=4;
 int a[][]=new int[line_num][];
 a[0]=new int[1];  
 a[1]=new int[2];
 a[2]=new int[3];
 a[3]=new int[4]; 

二维数组元素的访问: 同C语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值