|
Программирование >> Программирование с использованием ajax
Это заслуживает еще одного примера. Рассмотрим следующий код: int varl, var2 = 5, var3 = 6; varl = var2++ * ~var3; Какое значение будет присвоено переменной varl? Перед вычислением выражения в силу сначала вступит предшествующая переменной var3 операция -, которая изменит ее значение с 6 на 5. На операцию, следующую за переменной var2, можно не обращать внимания, поскольку она не вступит в силу до тех пор, пока не завершится вычисление выражения, а это значит, что переменной varl будет присвоено то значение, которое получится после умножения 5 на 5, т.е. 25. Эти простые унарные операции оказываются очень кстати в удивительно большом количестве ситуаций. Они, по сути, представляют собой сокращенную версию выражений вроде: varl = varl + 1; Выражения подобного рода имеют много применений, особенно в циклах, и об этом более подробно речь пойдет в главе 4. В следующем практическом занятии приводится пример использования математических операций, а также вводится несколько других полезных концепций. Код приглашает ввести строку и два числа и затем демонстрирует результаты выполнения над введенными числами ряда вычислений. Ef *!ig!?!!I!!?j Манипулирование переменными с помощью математических операций 1. Создайте новое консольное приложение по имени Ch03Ex02 и сохраните его в каталоге C:\BegVCSharp\Chapter03. 2. Добавьте в Program, cs следующий код: static void Main(string [ ] args) { double firstNumber, secondNuinber ; string userName; Console. WriteLine ( Enter your name: ) ; Введите ваше имя userName = Console. ReadLine () ; Console. WriteLine ( Welcome {0}! , userName); Добро пожаловать Console. WriteLine ( Now give me a number: ) ; Теперь введите число firstNumber = Convert.ToDouble (Console.ReadLine ()) ; Console.WriteLine ( Now give me another пгдтЬег: ) ; Теперь введите еще одно число secondNumber = Convert. ToDouble (Console. ReadLine ()) ; Console. WriteLine ( The sum of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber + secondNumber); Результат сложения Console.WriteLine ( The result of subtracting {0} from {1} is {2}. , secondNuinber, firstNianber, firstNumber - secondNianber) ; Результат вычитания Console.WriteLine( The product of {0} and {1} is {2}. , firstNumber, secondNianber, firstNianber * secondNuinber) ; Результат умножения Console.WriteLine ( The result of dividing {0} by {1} is {2}. , firstNumber, secondNumber, firstNiunber / secondNiunber) ; Результат деления Console.WriteLine( The remainder after dividing {0} by {1} is {2}. , firstNuniber, secondNuniber, firstNuniber % secondNuniber) ; Остаток от деления Console.ReadKey(); 3. Выполните добавленный код. На экране должно появиться то, что показано на рис. 3.2. Рис. 3.2. Выполнение приложения Ch03Ex02 4. Введите свое имя и нажмите клавишу <Enter>, как показано на рис. 3.3. I fll#:W::iB*flVCSrwjVCh pl r03/Ch03Fx02h03El02T)4n.D#bue/Cb03Ex02EXE Рис. 3.3. Ввод имени 5. Введите число и нажмите клавишу <Enter>, после чего введите еще одно число и снова нажмите <Enter>, как показано на рис. 3.4. Рис. 3.4. Ввод чисел Описание полученных результатов Помимо математических операций, в этом коде еще также впервые представляются два важных понятия, с которыми доведется сталкиваться довольно часто: □ пользовательский ввод; □ преобразование типов. Для пользовательского ввода применяется синтаксис, похожий ранее показанную команду Console. WriteLine (), а именно - Console. ReadLine (). Эта команда приглашает пользователя ввести данные, которые затем сохраняются в переменной типа string: string userName; Console.WriteLine( Enter your name; ); userName = Console.ReadLine(); Console.WriteLine( Welcome {0}! , userName); Приведенный код выводит содержимое присвоенной переменной userName прямо на экран. В этом примере еще также выполняется и считывание двух чисел. Данный процесс является немного более сложным, поскольку команда Console. ReadLine () генерирует строку, а требуется число. Здесь в игру вступает механизм преобразования шипов. Более подробно о нем будет рассказываться в главе 5, а пока давайте просто проанализируем код, используемый для его обеспечения в данном примере. Сначала объявляются переменные, в которых должны сохраняться вводимые числа: double firstNumber, secondNumber; Далее обеспечивается отображение соответствующего приглашения, и в отношении получаемой Console. ReadLine () строки применяется команда Convert. ToDouble () для преобразования ее в число double. Это число затем присваивается объявленной ранее переменной firstNumber: Console.WriteLine( Now give me a number: ); firstNumber = Convert.ToDouble(Console.ReadLine ()); Показанный здесь синтаксис является удивительно простым и позволяет выполнять похожим образом и много других преобразований. В остальной части кода аналогичным образом получается второе число: Console.WriteLine( Now give me another number: ); secondNumber = Convert.ToDouble(Console.ReadLine ()); После этого производится вывод на экран результатов сложения, вычитания, умножения и деления двух полученных чисел, а также отображение остатка от деления, получаемого с помощью операции %: Console.WriteLine( The sum of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber + secondNumber); Console.WriteLine( The result of subtracting {0} from {1} is {2}. , secondNumber, firstNumber, firstNumber - secondNumber); Console.WriteLine( The product of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber * secondNumber); Console.WriteLine( The result of dividing {0} by {1} is {2}. , firstNumber, secondNumber, firstNumber / secondNumber); Console.WriteLine( The remainder after dividing {0} by {1} is {2}. , firstNumber, secondNumber, firstNumber % secondNumber); Обратите внимание, что выражения, вроде firstNumber + secondNumber и т.д., передаются оператору Console .WriteLine () напрямую в виде параметра, без использования промежуточной переменной: Console.WriteLine( The sum of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber + secondNumber); Применение синтаксиса подобного рода может делать код очень удобочитаемым и сокращать количество подлежащих написанию строк кода.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |